1 diff U3 hostapd/config_file.c hostapd/config_file.c
2 --- a/hostapd/config_file.c Sun Apr 21 09:10:22 2019
3 +++ b/hostapd/config_file.c Sun Jun 9 01:08:21 2019
6 #endif /* CONFIG_OCV */
7 #ifdef CONFIG_IEEE80211N
8 + } else if (os_strcmp(buf, "noscan") == 0) {
9 + conf->noscan = atoi(pos);
10 + } else if (os_strcmp(buf, "ht_coex") == 0) {
11 + conf->no_ht_coex = !atoi(pos);
12 } else if (os_strcmp(buf, "ieee80211n") == 0) {
13 conf->ieee80211n = atoi(pos);
14 } else if (os_strcmp(buf, "ht_capab") == 0) {
15 diff U3 src/ap/ap_config.h src/ap/ap_config.h
16 --- a/src/ap/ap_config.h Sun Apr 21 09:10:22 2019
17 +++ b/src/ap/ap_config.h Sun Jun 9 01:06:42 2019
25 int secondary_channel;
26 int no_pri_sec_switch;
27 diff U3 src/ap/hw_features.c src/ap/hw_features.c
28 --- a/src/ap/hw_features.c Sun Apr 21 09:10:22 2019
29 +++ b/src/ap/hw_features.c Sun Jun 9 01:09:41 2019
33 /* Check that HT40 is used and PRI / SEC switch is allowed */
34 - if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch)
35 + if (!iface->conf->secondary_channel || iface->conf->no_pri_sec_switch ||
36 + iface->conf->noscan)
39 hostapd_set_state(iface, HAPD_IFACE_HT_SCAN);
40 diff U3 src/ap/ieee802_11_ht.c src/ap/ieee802_11_ht.c
41 --- a/src/ap/ieee802_11_ht.c Sun Apr 21 09:10:22 2019
42 +++ b/src/ap/ieee802_11_ht.c Sun Jun 9 01:13:09 2019
47 + if (iface->conf->noscan || iface->conf->no_ht_coex)
50 if (len < IEEE80211_HDRLEN + 2 + sizeof(*bc_ie)) {
52 "Ignore too short 20/40 BSS Coexistence Management frame");
54 void ht40_intolerant_add(struct hostapd_iface *iface, struct sta_info *sta)
56 if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
59 + if (iface->conf->noscan || iface->conf->no_ht_coex)
62 wpa_printf(MSG_INFO, "HT: Forty MHz Intolerant is set by STA " MACSTR