hostapd: permit 40MHz in 802.1s only also for 2.4GHz g/n with noscan
authorChristian Marangi <ansuelsmth@gmail.com>
Wed, 8 Nov 2023 15:48:57 +0000 (16:48 +0100)
committerChristian Marangi <ansuelsmth@gmail.com>
Thu, 9 Nov 2023 14:58:38 +0000 (15:58 +0100)
Currently for 802.1s only, for wifi 2.4GHz in g/n mode, 40MHz is never
permitted.

This is probably due to the complexity of setting periodic check for the
intolerant bit. When noscan option is set, we ignore the presence of the
intoleran bit in near AP, so we can enable 40MHz and ignore any complex
logic for checking.

Fixes: #13112
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
package/network/services/hostapd/patches/301-mesh-noscan.patch

index c50ffa8490c4e43bd7e2658e80a71799957c8de2..ceb6d0c161f50b7624baea66bdb3a3b2c08f0413 100644 (file)
        u8 channel;
        bool is_6ghz;
        bool dfs_enabled = wpa_s->conf->country[0] && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_RADAR);
+@@ -3080,6 +3080,8 @@ void ibss_mesh_setup_freq(struct wpa_sup
+               freq->he_enabled = ibss_mesh_can_use_he(wpa_s, ssid, mode,
+                                                       ieee80211_mode);
+       freq->channel = channel;
++      if (mode->mode == HOSTAPD_MODE_IEEE80211G && ssid->noscan)
++              ibss_mesh_select_40mhz(wpa_s, ssid, mode, freq, obss_scan, dfs_enabled);
+       /* Setup higher BW only for 5 GHz */
+       if (mode->mode == HOSTAPD_MODE_IEEE80211A) {
+               ibss_mesh_select_40mhz(wpa_s, ssid, mode, freq, obss_scan, dfs_enabled);
 --- a/wpa_supplicant/config_ssid.h
 +++ b/wpa_supplicant/config_ssid.h
 @@ -1035,6 +1035,8 @@ struct wpa_ssid {