summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/files/lib/wifi
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-08-06 17:59:09 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-08-06 17:59:09 +0000
commit47f0d7d64a40b642f9c44400b9c5d465ac0c6d7b (patch)
tree298bafa1c58eac54db56c7fd9c0c2c7a01b45421 /package/kernel/mac80211/files/lib/wifi
parent5625849972a819d80a79e778f5b2f574624fc621 (diff)
mac80211: Handle concurrent AP/STA beaconing properly
Use the "start_disabled" option in hostapd that was added in the earlier patch. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37732 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/kernel/mac80211/files/lib/wifi')
-rw-r--r--package/kernel/mac80211/files/lib/wifi/mac80211.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
index fb6cd29676..13afa813b0 100644
--- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
@@ -110,6 +110,7 @@ EOF
mac80211_hostapd_setup_bss() {
local phy="$1"
local vif="$2"
+ local staidx="$3"
hostapd_cfg=
cfgfile="/var/run/hostapd-$phy.conf"
@@ -132,6 +133,8 @@ mac80211_hostapd_setup_bss() {
config_get_bool wds "$vif" wds 0
[ "$wds" -gt 0 ] && append hostapd_cfg "wds_sta=1" "$N"
+ [ "$staidx" -gt 0 ] && append hostapd_cfg "start_disabled=1" "$N"
+
local macaddr hidden maxassoc wmm
config_get macaddr "$vif" macaddr
config_get maxassoc "$vif" maxassoc
@@ -318,6 +321,7 @@ enable_mac80211() {
local i=0
local macidx=0
local apidx=0
+ local staidx=0
fixed=""
local hostapd_ctrl=""
@@ -383,6 +387,7 @@ enable_mac80211() {
;;
sta)
local wdsflag
+ staidx="$(($staidx + 1))"
config_get_bool wds "$vif" wds 0
[ "$wds" -gt 0 ] && wdsflag="4addr on"
iw phy "$phy" interface add "$ifname" type managed $wdsflag
@@ -433,7 +438,7 @@ enable_mac80211() {
config_get mode "$vif" mode
case "$mode" in
ap)
- mac80211_hostapd_setup_bss "$phy" "$vif"
+ mac80211_hostapd_setup_bss "$phy" "$vif" "$staidx"
start_hostapd=1
;;
mesh)