From 97abaa960a0d0265620b19648300845b35fb6a55 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sat, 17 Oct 2009 22:11:14 +0000
Subject: [PATCH] madwifi: add antenna gpio support for nanostation loco2

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18055 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 package/madwifi/files/lib/wifi/madwifi.sh | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh
index e7d83d3a9..b2bec7d25 100755
--- a/package/madwifi/files/lib/wifi/madwifi.sh
+++ b/package/madwifi/files/lib/wifi/madwifi.sh
@@ -90,11 +90,20 @@ enable_atheros() {
 	config_get_bool softled "$device" softled 1
 
 	devname="$(cat /proc/sys/dev/$device/dev_name)"
-	antgpio=
+	local antgpio=
+	local invert=
 	case "$devname" in
-		NanoStation2) antgpio=7;;
-		NanoStation5) antgpio=1;;
+		NanoStation2) antgpio=7; invert=1;;
+		NanoStation5) antgpio=1; invert=1;;
+		"NanoStation Loco2") antgpio=2;;
 	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
@@ -106,14 +115,13 @@ enable_atheros() {
 		esac
 			
 		[ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
+		gpioctl "dirout" "$antgpio" >/dev/null 2>&1
 		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)
-				gpioctl "dirout" "$antgpio" >/dev/null 2>&1
-				gpioctl "clear" "$antgpio" >/dev/null 2>&1
+				gpioctl "$_set" "$antgpio" >/dev/null 2>&1
 			;;
 		esac
 	fi
-- 
2.20.1