X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/cda50e23c5a222f57ec68f8ae8b06a4c0b806840..c291b847846f5921d669b17478cbf59f0c83ee19:/package/madwifi/files/lib/wifi/madwifi.sh diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index be4cad0b7..9d08e1fab 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -18,14 +18,13 @@ scan_atheros() { append $mode "$vif" ;; wds) - config_get addr "$vif" bssid config_get ssid "$vif" ssid - [ -z "$addr" -a -n "$ssid" ] && { - config_set "$vif" wds 1 - config_set "$vif" mode sta - mode="sta" - addr="$ssid" - } + [ -z "$ssid" ] && continue + + config_set "$vif" wds 1 + config_set "$vif" mode sta + mode="sta" + addr="$ssid" ${addr:+append $mode "$vif"} ;; *) echo "$device($vif): Invalid mode, ignored."; continue;; @@ -120,9 +119,6 @@ enable_atheros() { iwpriv "$ifname" ff "$ff" fi - config_get wdssep "$vif" wdssep - [ -n "$wdssep" ] && iwpriv "$ifname" wdssep "$wdssep" - config_get wds "$vif" wds case "$wds" in 1|on|enabled) wds=1;; @@ -130,6 +126,11 @@ enable_atheros() { esac iwpriv "$ifname" wds "$wds" + [ "$mode" = ap -a "$wds" = 1 ] && { + config_get_bool wdssep "$vif" wdssep 1 + [ -n "$wdssep" ] && iwpriv "$ifname" wdssep "$wdssep" + } + wpa= case "$enc" in WEP|wep) @@ -150,10 +151,6 @@ enable_atheros() { esac case "$mode" in - wds) - config_get addr "$vif" bssid - iwpriv "$ifname" wds_add "$addr" - ;; adhoc|ahdemo) config_get addr "$vif" bssid [ -z "$addr" ] || {