diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-08-06 17:59:09 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-08-06 17:59:09 +0000 |
commit | 47f0d7d64a40b642f9c44400b9c5d465ac0c6d7b (patch) | |
tree | 298bafa1c58eac54db56c7fd9c0c2c7a01b45421 /package | |
parent | 5625849972a819d80a79e778f5b2f574624fc621 (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')
-rw-r--r-- | package/kernel/mac80211/files/lib/wifi/mac80211.sh | 7 |
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) |