madwifi: merge nanostation loco2 fixes from r18055
authorFelix Fietkau <nbd@openwrt.org>
Sun, 18 Oct 2009 00:45:31 +0000 (00:45 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 18 Oct 2009 00:45:31 +0000 (00:45 +0000)
SVN-Revision: 18057

package/madwifi/files/lib/wifi/madwifi.sh

index e7d83d3a9e897a5fb116ea7860eaccc0e9cbcbb5..b2bec7d25c6fdb2be3d0c4f2226e294134b5a3de 100755 (executable)
@@ -90,11 +90,20 @@ enable_atheros() {
        config_get_bool softled "$device" softled 1
 
        devname="$(cat /proc/sys/dev/$device/dev_name)"
        config_get_bool softled "$device" softled 1
 
        devname="$(cat /proc/sys/dev/$device/dev_name)"
-       antgpio=
+       local antgpio=
+       local invert=
        case "$devname" in
        case "$devname" in
-               NanoStation2) antgpio=7;;
-               NanoStation5) antgpio=1;;
+               NanoStation2) antgpio=7; invert=1;;
+               NanoStation5) antgpio=1; invert=1;;
+               "NanoStation Loco2") antgpio=2;;
        esac
        esac
+       if [ -n "$invert" ]; then
+               _set="clear"
+               _clear="set"
+       else
+               _set="set"
+               _clear="clear"
+       fi
        if [ -n "$antgpio" ]; then
                softled=0
                config_get antenna "$device" antenna
        if [ -n "$antgpio" ]; then
                softled=0
                config_get antenna "$device" antenna
@@ -106,14 +115,13 @@ enable_atheros() {
                esac
                        
                [ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
                esac
                        
                [ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
+               gpioctl "dirout" "$antgpio" >/dev/null 2>&1
                case "$antenna" in
                        horizontal|vertical|auto)
                case "$antenna" in
                        horizontal|vertical|auto)
-                               gpioctl "dirout" "$antgpio" >/dev/null 2>&1
-                               gpioctl "set" "$antgpio" >/dev/null 2>&1
+                               gpioctl "$_clear" "$antgpio" >/dev/null 2>&1
                        ;;
                        external)
                        ;;
                        external)
-                               gpioctl "dirout" "$antgpio" >/dev/null 2>&1
-                               gpioctl "clear" "$antgpio" >/dev/null 2>&1
+                               gpioctl "$_set" "$antgpio" >/dev/null 2>&1
                        ;;
                esac
        fi
                        ;;
                esac
        fi