ramips: setup GPIO chip functions on the fly
[openwrt.git] / package / madwifi / files / lib / wifi / madwifi.sh
index 7b696f0..21a5cf7 100755 (executable)
@@ -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 ] && {
@@ -406,7 +410,7 @@ enable_atheros() {
        done
 }
 
-check_device() {
+check_atheros_device() {
        [ ${1%[0-9]} = "wifi" ] && config_set "$1" phy "$1"
        config_get phy "$1" phy
        [ -z "$phy" ] && {
@@ -429,7 +433,7 @@ detect_atheros() {
        [ -d ath ] || return
        for dev in $(ls -d wifi* 2>&-); do
                found=0
-               config_foreach check_device wifi-device
+               config_foreach check_atheros_device wifi-device
                [ "$found" -gt 0 ] && continue
 
                devname="$(cat /proc/sys/dev/$dev/dev_name)"
@@ -469,6 +473,7 @@ config wifi-iface
        option mode     ap
        option ssid     OpenWrt
        option encryption none
+
 EOF
        devidx=$(($devidx + 1))
        done
This page took 0.02487 seconds and 4 git commands to generate.