diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-26 16:56:39 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-03-26 16:56:39 +0000 |
commit | cbf4a0f140041ddb1647e4ad742ca946e883a2d6 (patch) | |
tree | 4ade75b55a3c9a57dc2adc9d639fb18685c7efe6 /package/madwifi/files/lib/wifi/madwifi.sh | |
parent | d99103d375cab0a9da55e9a3f5c35662755e2db9 (diff) |
madwifi: add support for translating country codes into internal country code numbers (based on a patch by Manuel Munz)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26306 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/files/lib/wifi/madwifi.sh')
-rwxr-xr-x | package/madwifi/files/lib/wifi/madwifi.sh | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index a5a63f77b..21a5cf743 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -79,7 +79,7 @@ disable_atheros() ( config_get phy "$device" phy set_wifi_down "$device" - + include /lib/network cd /proc/sys/net for dev in *; do @@ -104,8 +104,12 @@ enable_atheros() { [ -n "$regdomain" ] && echo "$regdomain" > /proc/sys/dev/$phy/regdomain config_get country "$device" country - [ -z "$country" ] && country="0" - echo "$country" > /proc/sys/dev/$phy/countrycode + case "$country" in + [A-Za-z]*) country=`grep -i "$country" /lib/wifi/madwifi_countrycodes.txt |cut -d " " -f 2`;; + [0-9]*) ;; + *) country="" ;; + esac + [ -n "$country" ] && echo "$country" > /proc/sys/dev/$phy/countrycode config_get_bool outdoor "$device" outdoor "0" echo "$outdoor" > /proc/sys/dev/$phy/outdoor @@ -165,7 +169,7 @@ enable_atheros() { esac ;; esac - + [ -x "$(which gpioctl 2>/dev/null)" ] || antenna= gpioctl "dirout" "$antgpio" >/dev/null 2>&1 case "$gpioval" in @@ -192,12 +196,12 @@ enable_atheros() { config_get enc "$vif" encryption config_get eap_type "$vif" eap_type config_get mode "$vif" mode - + case "$mode" in sta) config_get_bool nosbeacon "$device" nosbeacon;; adhoc) config_get_bool nosbeacon "$vif" sw_merge 1;; esac - + [ "$nosbeacon" = 1 ] || nosbeacon="" ifname=$(wlanconfig "$ifname" create wlandev "$phy" wlanmode "$mode" ${nosbeacon:+nosbeacon}) [ $? -ne 0 ] && { |