X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/20b39ccab6b12680f06d47f1da2c80bfbd49fed5..592adfdf7413d1977bbf5199d7eb8b9f580502b0:/package/madwifi/files/lib/wifi/madwifi.sh?ds=sidebyside diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index ca933a1dd..5adeee44b 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -74,7 +74,9 @@ enable_atheros() { local device="$1" config_get channel "$device" channel config_get vifs "$device" vifs - + + [ auto = "$channel" ] && channel=0 + local first=1 for vif in $vifs; do nosbeacon= @@ -104,11 +106,10 @@ enable_atheros() { *) agmode=auto;; esac iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null - ifconfig "$ifname" up - sleep 1 iwpriv "$ifname" mode "$agmode" iwpriv "$ifname" pureg "$pureg" iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null + ifconfig "$ifname" up } config_get_bool hidden "$vif" hidden 0 @@ -195,6 +196,12 @@ enable_atheros() { config_get_bool comp "$vif" compression [ -n "$comp" ] && iwpriv "$ifname" compression "$comp" + config_get_bool minrate "$vif" minrate + [ -n "$minrate" ] && iwpriv "$ifname" minrate "$minrate" + + config_get_bool maxrate "$vif" maxrate + [ -n "$maxrate" ] && iwpriv "$ifname" maxrate "$maxrate" + config_get_bool burst "$vif" bursting [ -n "$burst" ] && iwpriv "$ifname" burst "$burst" @@ -210,6 +217,9 @@ enable_atheros() { config_get_bool turbo "$vif" turbo [ -n "$turbo" ] && iwpriv "$ifname" turbo "$turbo" + config_get_bool doth "$vif" doth 0 + [ -n "$doth" ] && iwpriv "$ifname" doth "$doth" + config_get maclist "$vif" maclist [ -n "$maclist" ] && { # flush MAC list @@ -261,27 +271,34 @@ enable_atheros() { fi ;; wds|sta) - case "$enc" in + config_get_bool usepassphrase "$vif" passphrase 1 + case "$enc" in PSK|psk|PSK2|psk2) case "$enc" in PSK|psk) proto='proto=WPA' - passphrase="${key}" + if [ "$usepassphrase" = "1" ]; then + passphrase="psk=\"${key}\"" + else + passphrase="psk=${key}" + fi ;; PSK2|psk2) proto='proto=RSN' - passphrase=`wpa_passphrase ${ssid} "${key}" | grep psk | grep -v \#| cut -d= -f2` + if [ "$usepassphrase" = "1" ]; then + passphrase="psk=\"${key}\"" + else + passphrase="psk=${key}" + fi ;; esac - cat > /var/run/wpa_supplicant-$ifname.conf <