Hi,
there is this noscan patch for hostapd around the internet,
that allows to use HT40 even with many SSID broadcasts nearby.
It added an option noscan=1 that can be used in the config
to enable this behavior.
I attached it to this email.
I'm wondering if there is a certain reason (maybe of regulatory nature)
that this patch hasn't been merged into the hostapd code.
Regards,
Dominik
diff -ru a/hostapd/config_file.c b/hostapd/config_file.c
--- a/hostapd/config_file.c 2024-07-20 20:04:37.000000000 +0200
+++ b/hostapd/config_file.c 2025-01-27 22:38:40.395526992 +0100
@@ -3091,6 +3091,8 @@
line, bss->wpa_deny_ptk0_rekey);
return 1;
}
+ } else if (os_strcmp(buf, "noscan") == 0) {
+ conf->noscan = atoi(pos);
} else if (os_strcmp(buf, "wpa_group_update_count") == 0) {
char *endp;
unsigned long val = strtoul(pos, &endp, 0);
@@ -3678,6 +3680,8 @@
if (bss->ocv && !bss->ieee80211w)
bss->ieee80211w = 1;
#endif /* CONFIG_OCV */
+ } else if (os_strcmp(buf, "noscan") == 0) {
+ conf->noscan = atoi(pos);
} else if (os_strcmp(buf, "ieee80211n") == 0) {
conf->ieee80211n = atoi(pos);
} else if (os_strcmp(buf, "ht_capab") == 0) {
Nur in b/hostapd: config_file.c.orig.
diff -ru a/src/ap/ap_config.h b/src/ap/ap_config.h
--- a/src/ap/ap_config.h 2024-07-20 20:04:37.000000000 +0200
+++ b/src/ap/ap_config.h 2025-01-27 22:38:40.395526992 +0100
@@ -1108,6 +1108,7 @@
int ht_op_mode_fixed;
u16 ht_capab;
+ int noscan;
int ieee80211n;
int secondary_channel;
int no_pri_sec_switch;
Nur in b/src/ap: ap_config.h.orig.
diff -ru a/src/ap/hw_features.c b/src/ap/hw_features.c
--- a/src/ap/hw_features.c 2024-07-20 20:04:37.000000000 +0200
+++ b/src/ap/hw_features.c 2025-01-27 22:40:34.868693359 +0100
@@ -551,7 +551,7 @@
int ret;
/* Check that HT40 is used and PRI / SEC switch is allowed */
- if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch)
+ if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch || iface->conf->noscan)
return 0;
hostapd_set_state(iface, HAPD_IFACE_HT_SCAN);
@@ -1037,7 +1037,7 @@
if (!hostapd_is_usable_punct_bitmap(iface))
return 0;
- if (!iface->conf->secondary_channel)
+ if (!iface->conf->secondary_channel || iface->conf->noscan)
return 1;
err = hostapd_is_usable_chan(iface, iface->freq +
Nur in b/src/ap: hw_features.c.orig.
diff -ru a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c
--- a/src/ap/ieee802_11_ht.c 2024-07-20 20:04:37.000000000 +0200
+++ b/src/ap/ieee802_11_ht.c 2025-01-27 22:38:40.396527003 +0100
@@ -230,6 +230,9 @@
return;
}
+ if (iface->conf->noscan)
+ return;
+
if (len < IEEE80211_HDRLEN + 2 + sizeof(*bc_ie)) {
wpa_printf(MSG_DEBUG,
"Ignore too short 20/40 BSS Coexistence Management frame");
@@ -390,6 +393,9 @@
if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
return;
+ if (iface->conf->noscan)
+ return;
+
wpa_printf(MSG_INFO, "HT: Forty MHz Intolerant is set by STA " MACSTR
" in Association Request", MAC2STR(sta->addr));
_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap