summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-08-06 17:59:02 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-08-06 17:59:02 +0000
commit72bcffe01514b60c175135768283851e85ced7f1 (patch)
treeff2816d9e8e0d9692ae4536b3b757cfb7f8cf4e0
parentf63e5072abed3c2f053b787f8c2ac1cbe5c03f6b (diff)
hostapd: Add an option to disable beaconing
Add a patch for hostapd that introduces a config option "start_disabled" which can be used to bring up an AP interface with beaconing disabled. This is useful in a Repeater-AP setup where the Repeater AP has to start beaconing only after the WDS link has been established. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37730 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/network/services/hostapd/patches/454-ap-sta-concurrency.patch45
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;