Last active
November 11, 2020 15:05
-
-
Save alexalouit/06f3a98212d5c8ca7edef268e8bae69c to your computer and use it in GitHub Desktop.
alpine linux hostapd noscan compilation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/hostapd/config_file.c b/hostapd/config_file.c | |
index e09e6e1..6251048 100644 | |
--- a/hostapd/config_file.c | |
+++ b/hostapd/config_file.c | |
@@ -3411,6 +3411,10 @@ static int hostapd_config_fill(struct hostapd_config *conf, | |
bss->ieee80211w = 1; | |
#endif /* CONFIG_OCV */ | |
#ifdef CONFIG_IEEE80211N | |
+ } else if (os_strcmp(buf, "noscan") == 0) { | |
+ conf->noscan = atoi(pos); | |
+ } else if (os_strcmp(buf, "ht_coex") == 0) { | |
+ conf->no_ht_coex = !atoi(pos); | |
} else if (os_strcmp(buf, "ieee80211n") == 0) { | |
conf->ieee80211n = atoi(pos); | |
} else if (os_strcmp(buf, "ht_capab") == 0) { | |
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h | |
index ea581a8..0b3ffb5 100644 | |
--- a/src/ap/ap_config.h | |
+++ b/src/ap/ap_config.h | |
@@ -932,6 +932,8 @@ struct hostapd_config { | |
int ht_op_mode_fixed; | |
u16 ht_capab; | |
+ int noscan; | |
+ int no_ht_coex; | |
int ieee80211n; | |
int secondary_channel; | |
int no_pri_sec_switch; | |
diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c | |
index c1f19e2..993f0d0 100644 | |
--- a/src/ap/hw_features.c | |
+++ b/src/ap/hw_features.c | |
@@ -477,7 +477,8 @@ static int ieee80211n_check_40mhz(struct hostapd_iface *iface) | |
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); | |
diff --git a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c | |
index 214855d..3697ca3 100644 | |
--- a/src/ap/ieee802_11_ht.c | |
+++ b/src/ap/ieee802_11_ht.c | |
@@ -252,6 +252,9 @@ void hostapd_2040_coex_action(struct hostapd_data *hapd, | |
return; | |
} | |
+ if (iface->conf->noscan || iface->conf->no_ht_coex) | |
+ return; | |
+ | |
if (len < IEEE80211_HDRLEN + 2 + sizeof(*bc_ie)) { | |
wpa_printf(MSG_DEBUG, | |
"Ignore too short 20/40 BSS Coexistence Management frame"); | |
@@ -412,6 +415,9 @@ void ht40_intolerant_add(struct hostapd_iface *iface, struct sta_info *sta) | |
if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G) | |
return; | |
+ if (iface->conf->noscan || iface->conf->no_ht_coex) | |
+ return; | |
+ | |
wpa_printf(MSG_INFO, "HT: Forty MHz Intolerant is set by STA " MACSTR | |
" in Association Request", MAC2STR(sta->addr)); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ apk add alpine-sdk | |
$ adduser builder | |
$ addgroup builder abuild | |
$ su builder | |
$ cd | |
$ git clone --single-branch --branch 3.12-stable https://git.alpinelinux.org/aports | |
$ cd aports/main/hostapd | |
$ sudo mkdir -p /var/cache/distfiles | |
$ sudo chmod a+w /var/cache/distfiles | |
$ abuild-keygen -a -i | |
$ abuild fetch | |
# insert to APKBUILD source section: | |
0099-noscan.patch | |
# insert to APKBUILD sha512sums section: | |
ca40fdf626e8d59c420cabcf63fd30c2d12c6cccbdf3bb3cfce1a27678d75f8edab3145a3ae2b467d9bcd420cc4d04bb9147a6032dc5f929ddd4c4ab2baf5a3e 0099-noscan.patch | |
$ abuild checksum | |
$ abuild -r |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment