Revert "hostapd: fix encrypted mesh channel settings"
This reverts commit 7f52919a2f
, which is
currently breaking the builds and needs to be reworked
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
d92ec071b2
commit
1a89547957
5 changed files with 1 additions and 213 deletions
|
@ -7,7 +7,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=hostapd
|
PKG_NAME:=hostapd
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE_URL:=http://w1.fi/hostap.git
|
PKG_SOURCE_URL:=http://w1.fi/hostap.git
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
|
|
|
@ -647,7 +647,6 @@ wpa_supplicant_add_network() {
|
||||||
local ifname="$1"
|
local ifname="$1"
|
||||||
local freq="$2"
|
local freq="$2"
|
||||||
local htmode="$3"
|
local htmode="$3"
|
||||||
local noscan="$4"
|
|
||||||
|
|
||||||
_wpa_supplicant_common "$1"
|
_wpa_supplicant_common "$1"
|
||||||
wireless_vif_parse_encryption
|
wireless_vif_parse_encryption
|
||||||
|
@ -683,7 +682,6 @@ wpa_supplicant_add_network() {
|
||||||
append network_data "mode=5" "$N$T"
|
append network_data "mode=5" "$N$T"
|
||||||
[ -n "$mesh_fwding" ] && append network_data "mesh_fwding=${mesh_fwding}" "$N$T"
|
[ -n "$mesh_fwding" ] && append network_data "mesh_fwding=${mesh_fwding}" "$N$T"
|
||||||
[ -n "$channel" ] && wpa_supplicant_set_fixed_freq "$freq" "$htmode"
|
[ -n "$channel" ] && wpa_supplicant_set_fixed_freq "$freq" "$htmode"
|
||||||
[ "$noscan" = "1" ] && append network_data "noscan=1" "$N$T"
|
|
||||||
append wpa_key_mgmt "SAE"
|
append wpa_key_mgmt "SAE"
|
||||||
scan_ssid=""
|
scan_ssid=""
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
From 838225f2319348e430b553fd9bb3680bd7434ae3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Oh <peter.oh@bowerswilkins.com>
|
|
||||||
Date: Wed, 18 Apr 2018 14:14:18 -0700
|
|
||||||
Subject: [PATCH 1/2] mesh: add VHT_CHANWIDTH_USE_HT to max_oper_chwidth
|
|
||||||
|
|
||||||
Channel width in VHT mode refers HT capability when
|
|
||||||
the width goes down to below 80MHz, hence add checking
|
|
||||||
HT channel width to its max operation channel width.
|
|
||||||
So that mesh has capable to select bandwidth below 80Mhz.
|
|
||||||
|
|
||||||
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
||||||
---
|
|
||||||
wpa_supplicant/config.c | 1 +
|
|
||||||
wpa_supplicant/config_ssid.h | 1 +
|
|
||||||
wpa_supplicant/wpa_supplicant.c | 3 +++
|
|
||||||
3 files changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
|
|
||||||
index f65bbb02f..7e8f014cc 100644
|
|
||||||
--- a/wpa_supplicant/config.c
|
|
||||||
+++ b/wpa_supplicant/config.c
|
|
||||||
@@ -2798,6 +2798,7 @@ void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
|
|
||||||
ssid->mka_priority = DEFAULT_PRIO_NOT_KEY_SERVER;
|
|
||||||
#endif /* CONFIG_MACSEC */
|
|
||||||
ssid->mac_addr = -1;
|
|
||||||
+ ssid->max_oper_chwidth = (u8)DEFAULT_MAX_OPER_CHWIDTH;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
|
|
||||||
index 9fd56c32f..2ddb777b2 100644
|
|
||||||
--- a/wpa_supplicant/config_ssid.h
|
|
||||||
+++ b/wpa_supplicant/config_ssid.h
|
|
||||||
@@ -37,6 +37,7 @@
|
|
||||||
#define DEFAULT_AMPDU_FACTOR -1 /* no change */
|
|
||||||
#define DEFAULT_AMPDU_DENSITY -1 /* no change */
|
|
||||||
#define DEFAULT_USER_SELECTED_SIM 1
|
|
||||||
+#define DEFAULT_MAX_OPER_CHWIDTH -1
|
|
||||||
|
|
||||||
struct psk_list_entry {
|
|
||||||
struct dl_list list;
|
|
||||||
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
|
|
||||||
index dcd787bec..ca893f942 100644
|
|
||||||
--- a/wpa_supplicant/wpa_supplicant.c
|
|
||||||
+++ b/wpa_supplicant/wpa_supplicant.c
|
|
||||||
@@ -2293,6 +2293,9 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
|
|
||||||
vht_caps |= VHT_CAP_SUPP_CHAN_WIDTH_160MHZ;
|
|
||||||
seg0 = 114;
|
|
||||||
}
|
|
||||||
+ } else if (ssid->max_oper_chwidth == VHT_CHANWIDTH_USE_HT) {
|
|
||||||
+ chwidth = VHT_CHANWIDTH_USE_HT;
|
|
||||||
+ seg0 = vht80[j] + 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hostapd_set_freq_params(&vht_freq, mode->mode, freq->freq,
|
|
||||||
--
|
|
||||||
2.17.0
|
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
From 24fc73b2470ff79cd8c92e029ca785c8e95a204c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Peter Oh <peter.oh@bowerswilkins.com>
|
|
||||||
Date: Wed, 18 Apr 2018 14:14:19 -0700
|
|
||||||
Subject: [PATCH 2/2] mesh: implement use of VHT20 config in mesh mode
|
|
||||||
|
|
||||||
mesh in VHT mode is supposed to be able to use any bandwidth
|
|
||||||
that 11ac supports, but we don't have a way to set VHT20
|
|
||||||
although there are parameters that are supposed to be used.
|
|
||||||
This patch along with the patch of
|
|
||||||
"mesh: add VHT_CHANWIDTH_USE_HT to max_oper_chwidth" makes mesh
|
|
||||||
available to use of any bandwidth using combination of
|
|
||||||
existing parameters like below shown.
|
|
||||||
|
|
||||||
VHT80:
|
|
||||||
default
|
|
||||||
do not set any parameters
|
|
||||||
VHT40:
|
|
||||||
max_oper_chwidth = 0
|
|
||||||
VHT20:
|
|
||||||
max_oper_chwidth=0
|
|
||||||
disable_ht40=1
|
|
||||||
HT40:
|
|
||||||
disable_vht = 1
|
|
||||||
HT20:
|
|
||||||
disable_ht40 = 1
|
|
||||||
disable HT:
|
|
||||||
disable_ht = 1
|
|
||||||
|
|
||||||
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
|
||||||
---
|
|
||||||
wpa_supplicant/wpa_supplicant.c | 18 +++++++++++++-----
|
|
||||||
1 file changed, 13 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
|
|
||||||
index ca893f942..8429cfd43 100644
|
|
||||||
--- a/wpa_supplicant/wpa_supplicant.c
|
|
||||||
+++ b/wpa_supplicant/wpa_supplicant.c
|
|
||||||
@@ -2132,9 +2132,15 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
|
|
||||||
if (pri_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
|
|
||||||
return;
|
|
||||||
|
|
||||||
+ freq->channel = pri_chan->chan;
|
|
||||||
+
|
|
||||||
#ifdef CONFIG_HT_OVERRIDES
|
|
||||||
- if (ssid->disable_ht40)
|
|
||||||
- return;
|
|
||||||
+ if (ssid->disable_ht40) {
|
|
||||||
+ if (ssid->disable_vht)
|
|
||||||
+ return;
|
|
||||||
+ else
|
|
||||||
+ goto skip_ht40;
|
|
||||||
+ }
|
|
||||||
#endif /* CONFIG_HT_OVERRIDES */
|
|
||||||
|
|
||||||
/* Check/setup HT40+/HT40- */
|
|
||||||
@@ -2159,8 +2165,6 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
|
|
||||||
if (sec_chan->flag & (HOSTAPD_CHAN_DISABLED | HOSTAPD_CHAN_NO_IR))
|
|
||||||
return;
|
|
||||||
|
|
||||||
- freq->channel = pri_chan->chan;
|
|
||||||
-
|
|
||||||
if (ht40 == -1) {
|
|
||||||
if (!(pri_chan->flag & HOSTAPD_CHAN_HT40MINUS))
|
|
||||||
return;
|
|
||||||
@@ -2204,6 +2208,7 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
|
|
||||||
wpa_scan_results_free(scan_res);
|
|
||||||
}
|
|
||||||
|
|
||||||
+skip_ht40:
|
|
||||||
wpa_printf(MSG_DEBUG,
|
|
||||||
"IBSS/mesh: setup freq channel %d, sec_channel_offset %d",
|
|
||||||
freq->channel, freq->sec_channel_offset);
|
|
||||||
@@ -2295,7 +2300,10 @@ void ibss_mesh_setup_freq(struct wpa_supplicant *wpa_s,
|
|
||||||
}
|
|
||||||
} else if (ssid->max_oper_chwidth == VHT_CHANWIDTH_USE_HT) {
|
|
||||||
chwidth = VHT_CHANWIDTH_USE_HT;
|
|
||||||
- seg0 = vht80[j] + 2;
|
|
||||||
+ if (ssid->disable_ht40)
|
|
||||||
+ seg0 = 0;
|
|
||||||
+ else
|
|
||||||
+ seg0 = vht80[j] + 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hostapd_set_freq_params(&vht_freq, mode->mode, freq->freq,
|
|
||||||
--
|
|
||||||
2.17.0
|
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
Index: hostapd-2018-04-09-fa617ee6/wpa_supplicant/config.c
|
|
||||||
===================================================================
|
|
||||||
--- hostapd-2018-04-09-fa617ee6.orig/wpa_supplicant/config.c
|
|
||||||
+++ hostapd-2018-04-09-fa617ee6/wpa_supplicant/config.c
|
|
||||||
@@ -2216,6 +2216,7 @@ static const struct parse_data ssid_fiel
|
|
||||||
#else /* CONFIG_MESH */
|
|
||||||
{ INT_RANGE(mode, 0, 4) },
|
|
||||||
#endif /* CONFIG_MESH */
|
|
||||||
+ { INT_RANGE(noscan, 0, 1) },
|
|
||||||
{ INT_RANGE(proactive_key_caching, 0, 1) },
|
|
||||||
{ INT_RANGE(disabled, 0, 2) },
|
|
||||||
{ STR(id_str) },
|
|
||||||
Index: hostapd-2018-04-09-fa617ee6/wpa_supplicant/config_file.c
|
|
||||||
===================================================================
|
|
||||||
--- hostapd-2018-04-09-fa617ee6.orig/wpa_supplicant/config_file.c
|
|
||||||
+++ hostapd-2018-04-09-fa617ee6/wpa_supplicant/config_file.c
|
|
||||||
@@ -816,6 +816,7 @@ static void wpa_config_write_network(FIL
|
|
||||||
#endif /* IEEE8021X_EAPOL */
|
|
||||||
INT(mode);
|
|
||||||
INT(no_auto_peer);
|
|
||||||
+ INT(noscan);
|
|
||||||
INT(mesh_fwding);
|
|
||||||
INT(frequency);
|
|
||||||
INT(fixed_freq);
|
|
||||||
Index: hostapd-2018-04-09-fa617ee6/wpa_supplicant/mesh.c
|
|
||||||
===================================================================
|
|
||||||
--- hostapd-2018-04-09-fa617ee6.orig/wpa_supplicant/mesh.c
|
|
||||||
+++ hostapd-2018-04-09-fa617ee6/wpa_supplicant/mesh.c
|
|
||||||
@@ -287,6 +287,8 @@ static int wpa_supplicant_mesh_init(stru
|
|
||||||
frequency);
|
|
||||||
goto out_free;
|
|
||||||
}
|
|
||||||
+ if (ssid->noscan)
|
|
||||||
+ conf->noscan = 1;
|
|
||||||
if (ssid->ht40)
|
|
||||||
conf->secondary_channel = ssid->ht40;
|
|
||||||
if (conf->hw_mode == HOSTAPD_MODE_IEEE80211A && ssid->vht) {
|
|
||||||
Index: hostapd-2018-04-09-fa617ee6/wpa_supplicant/wpa_supplicant.c
|
|
||||||
===================================================================
|
|
||||||
--- hostapd-2018-04-09-fa617ee6.orig/wpa_supplicant/wpa_supplicant.c
|
|
||||||
+++ hostapd-2018-04-09-fa617ee6/wpa_supplicant/wpa_supplicant.c
|
|
||||||
@@ -2024,12 +2024,12 @@ void ibss_mesh_setup_freq(struct wpa_sup
|
|
||||||
{
|
|
||||||
enum hostapd_hw_mode hw_mode;
|
|
||||||
struct hostapd_hw_modes *mode = NULL;
|
|
||||||
- int ht40plus[] = { 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157,
|
|
||||||
+ int ht40plus[] = { 1, 2, 3, 4, 5, 6, 36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157,
|
|
||||||
184, 192 };
|
|
||||||
int vht80[] = { 36, 52, 100, 116, 132, 149 };
|
|
||||||
struct hostapd_channel_data *pri_chan = NULL, *sec_chan = NULL;
|
|
||||||
u8 channel;
|
|
||||||
- int i, chan_idx, ht40 = -1, res, obss_scan = 1;
|
|
||||||
+ int i, chan_idx, ht40 = -1, res, obss_scan = !(ssid->noscan);
|
|
||||||
unsigned int j, k;
|
|
||||||
struct hostapd_freq_params vht_freq;
|
|
||||||
int chwidth, seg0, seg1;
|
|
||||||
@@ -2099,7 +2099,7 @@ void ibss_mesh_setup_freq(struct wpa_sup
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Setup higher BW only for 5 GHz */
|
|
||||||
- if (mode->mode != HOSTAPD_MODE_IEEE80211A)
|
|
||||||
+ if (mode->mode != HOSTAPD_MODE_IEEE80211A && !(ssid->noscan))
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (chan_idx = 0; chan_idx < mode->num_channels; chan_idx++) {
|
|
Loading…
Reference in a new issue