diff options
Diffstat (limited to 'package/network/services/hostapd/patches')
-rw-r--r-- | package/network/services/hostapd/patches/454-ap-sta-concurrency.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/454-ap-sta-concurrency.patch b/package/network/services/hostapd/patches/454-ap-sta-concurrency.patch new file mode 100644 index 0000000000..f481a31544 --- /dev/null +++ b/package/network/services/hostapd/patches/454-ap-sta-concurrency.patch @@ -0,0 +1,45 @@ +--- a/hostapd/config_file.c ++++ b/hostapd/config_file.c +@@ -1781,6 +1781,8 @@ static int hostapd_config_fill(struct ho + } + } else if (os_strcmp(buf, "wds_sta") == 0) { + bss->wds_sta = atoi(pos); ++ } else if (os_strcmp(buf, "start_disabled") == 0) { ++ bss->start_disabled = atoi(pos); + } else if (os_strcmp(buf, "ap_isolate") == 0) { + bss->isolate = atoi(pos); + } else if (os_strcmp(buf, "ap_max_inactivity") == 0) { +--- a/hostapd/hostapd.conf ++++ b/hostapd/hostapd.conf +@@ -389,6 +389,9 @@ wmm_ac_vo_acm=0 + # use a separate bridge. + #wds_bridge=wds-br0 + ++# Start the AP with beaconing disabled by default. ++#start_disabled=0 ++ + # Client isolation can be used to prevent low-level bridging of frames between + # associated stations in the BSS. By default, this bridging is allowed. + #ap_isolate=1 +--- a/src/ap/ap_config.h ++++ b/src/ap/ap_config.h +@@ -243,6 +243,7 @@ struct hostapd_bss_config { + int num_deny_mac; + int wds_sta; + int isolate; ++ int start_disabled; + + int auth_algs; /* bitfield of allowed IEEE 802.11 authentication + * algorithms, WPA_AUTH_ALG_{OPEN,SHARED,LEAP} */ +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -819,7 +819,8 @@ static int hostapd_setup_bss(struct host + return -1; + } + +- ieee802_11_set_beacon(hapd); ++ if (!hapd->conf->start_disabled) ++ ieee802_11_set_beacon(hapd); + + if (hapd->wpa_auth && wpa_init_keys(hapd->wpa_auth) < 0) + return -1; |