diff --git a/map-agent/files/lib/wifi/multiap b/map-agent/files/lib/wifi/multiap index 5aa632478..5e060fc1e 100755 --- a/map-agent/files/lib/wifi/multiap +++ b/map-agent/files/lib/wifi/multiap @@ -665,7 +665,7 @@ bsta_scan_on_enabled() { bsta_enable_all() { mapagent_enable_bk() { - config_get ifname $1 ifname "2" + config_get ifname $1 ifname uci -q set mapagent.$1.enabled="1" } @@ -676,6 +676,34 @@ bsta_enable_all() { bsta_scan_on_enabled } +bsta_clear_all_bssid() { + mapagent_remove_bssid() { + uci -q set mapagent.$1.enabled="1" + uci -q del mapagent.$1.bssid + } + + wireless_remove_bssid() { + config_get mode $1 mode + config_get ifname $1 ifname + + [ "$mode" != "sta" ] && return + + uci -q del wireless.$1.bssid + wpa_cli -i "$ifname" bssid 0 00:00:00:00:00:00 > /dev/null 2>&1 + wpa_cli -i "$ifname" save_config > /dev/null 2>&1 + } + + config_load mapagent + config_foreach mapagent_remove_bssid bsta + uci commit mapagent + + config_load wireless + config_foreach wireless_remove_bssid wifi-iface + uci commit wireless + + bsta_scan_on_enabled +} + bsta_disable_lower_priority() { config_load mapagent @@ -849,6 +877,7 @@ case "$func" in sync_mapcontroller_from_wireless) sync_mapcontroller_from_wireless $@;; ts) ts_sub $@;; bsta_enable_all) bsta_enable_all $@;; + bsta_clear_all_bssid) bsta_clear_all_bssid $@;; bsta_disable_lower_priority) bsta_disable_lower_priority $@;; bsta_scan_on_enabled) bsta_scan_on_enabled $@;; bsta_use_link) bsta_use_link $@;;