diff options
author | Daniel Golle <daniel@makrotopia.org> | 2018-05-31 00:10:49 +0200 |
---|---|---|
committer | Daniel Golle <daniel@makrotopia.org> | 2018-05-31 00:38:16 +0200 |
commit | 78f1974bc565d7544589a49ad8efd92c4ddec5b3 (patch) | |
tree | 2ba738d93778958d880ed37896c2bb617f19b9e1 /package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch | |
parent | dad39249fb91d6f320256ac12944863f09bb2dc9 (diff) | |
download | upstream-78f1974bc565d7544589a49ad8efd92c4ddec5b3.tar.gz upstream-78f1974bc565d7544589a49ad8efd92c4ddec5b3.tar.bz2 upstream-78f1974bc565d7544589a49ad8efd92c4ddec5b3.zip |
hostapd: update packaging and patches
Clean up conflicts/provides/depends hell and add PROVIDES for
eapol-test variants while at it.
Update mesh-DFS patchset from Peter Oh to v5 (with local fixes) which
allows to drop two revert-patches for upstream commits which previously
were necessary to un-break mesh-DFS support.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch')
-rw-r--r-- | package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch b/package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch new file mode 100644 index 0000000000..5071ae5151 --- /dev/null +++ b/package/network/services/hostapd/patches/016-mesh-fix-channel-switch-error-during-CAC.patch @@ -0,0 +1,64 @@ +From fa9d565fe8841b288f29137c23a7ab2584dd9510 Mon Sep 17 00:00:00 2001 +From: Peter Oh <peter.oh@bowerswilkins.com> +Date: Tue, 29 May 2018 14:39:20 -0700 +Subject: [PATCH 16/18] mesh: fix channel switch error during CAC + +Mesh interface has used its channel parameters that configured +during its initialization even after channel switched due to +DFS radar detection during CAC which caused channel switch error. +This change fixes the error by updating its channel parameters +when channel's been changed from initial one. + +Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com> +Signed-off-by: Daniel Golle <daniel@makrotopia.org> +[daniel@makrotopia.org: added hw_features_common.h include] +--- + wpa_supplicant/mesh.c | 25 +++++++++++++++++++++++++ + 1 file changed, 25 insertions(+) + +--- a/wpa_supplicant/mesh.c ++++ b/wpa_supplicant/mesh.c +@@ -11,6 +11,7 @@ + #include "utils/common.h" + #include "utils/eloop.h" + #include "utils/uuid.h" ++#include "common/hw_features_common.h" + #include "common/ieee802_11_defs.h" + #include "common/wpa_ctrl.h" + #include "ap/sta_info.h" +@@ -394,10 +395,35 @@ void wpa_supplicant_mesh_add_scan_ie(str + void wpas_mesh_complete_cb(void *ctx) + { + struct wpa_supplicant *wpa_s = (struct wpa_supplicant *)ctx; ++ struct hostapd_iface *ifmsh = wpa_s->ifmsh; + struct wpa_driver_mesh_join_params *params = wpa_s->mesh_params; + struct wpa_ssid *ssid = wpa_s->current_ssid; + int ret = 0; + ++ /* ++ * inspect if channel's been changed since initialized. ++ * i.e. DFS radar detection ++ */ ++ if (ifmsh->freq != params->freq.freq) { ++ wpa_s->assoc_freq = ifmsh->freq; ++ ssid->frequency = ifmsh->freq; ++ if (hostapd_set_freq_params(¶ms->freq, ++ ifmsh->conf->hw_mode, ++ ifmsh->freq, ++ ifmsh->conf->channel, ++ ifmsh->conf->ieee80211n, ++ ifmsh->conf->ieee80211ac, ++ ifmsh->conf->secondary_channel, ++ ifmsh->conf->vht_oper_chwidth, ++ ifmsh->conf->vht_oper_centr_freq_seg0_idx, ++ ifmsh->conf->vht_oper_centr_freq_seg1_idx, ++ ifmsh->conf->vht_capab)) { ++ wpa_printf(MSG_ERROR, "Error updating mesh frequency params."); ++ wpa_supplicant_mesh_deinit(wpa_s); ++ return; ++ } ++ } ++ + if (wpas_mesh_init_rsn(wpa_s)) { + wpa_printf(MSG_ERROR, "Init RSN failed. Deinit mesh..."); + wpa_supplicant_mesh_deinit(wpa_s); |