summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorthepeople <thepeople@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-10-23 03:09:33 +0000
committerthepeople <thepeople@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-10-23 03:09:33 +0000
commit44eebd027d78b43f8bdc0a356b814a5e3f343c7e (patch)
tree669cdd29911e7eee8218f2a8f2c485024ccb836d /package
parentd3839c51412208161893dc64138ea4a027b643b3 (diff)
Simplify antenna selection and remove the need for gpioctl for the nanostation2.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13032 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rwxr-xr-xpackage/madwifi/files/lib/wifi/madwifi.sh31
1 files changed, 19 insertions, 12 deletions
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh
index 379ec0747..4bb5be569 100755
--- a/package/madwifi/files/lib/wifi/madwifi.sh
+++ b/package/madwifi/files/lib/wifi/madwifi.sh
@@ -177,34 +177,41 @@ enable_atheros() {
config_get antrx "$device" rxantenna
config_get anttx "$device" txantenna
config_get_bool softled "$device" softled 1
+ config_get_bool gpioctl "$device" gpioctl
devname="$(cat /proc/sys/dev/$device/dev_name)"
antgpio=
case "$devname" in
- NanoStation2) antgpio=7;;
+ NanoStation2) antgpio=wifi; [ -n "$gpioctl" ] && gpioctl=0;;
NanoStation5) antgpio=1;;
esac
if [ -n "$antgpio" ]; then
softled=0
- config_get polarity "$device" polarity
- case "$polarity" in
+ config_get antenna "$device" antenna
+ case "$antenna" in
+ external) antdiv=0; antrx=1; anttx=1 ;;
horizontal) antdiv=0; antrx=1; anttx=1 ;;
vertical) antdiv=0; antrx=2; anttx=2 ;;
auto) antdiv=1; antrx=0; anttx=0 ;;
esac
- config_get antenna "$device" antenna
+
[ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
case "$antenna" in
- internal)
- gpioctl "dirout" "$antgpio" >/dev/null 2>&1
- gpioctl "set" "$antgpio" >/dev/null 2>&1
+ horizontal|vertical|auto)
+ if [ "$gpioctl" = "0" ]; then
+ echo 0 >/sys/class/leds/$antgpio/brightness 2>&1
+ else
+ gpioctl "dirout" "$antgpio" >/dev/null 2>&1
+ gpioctl "set" "$antgpio" >/dev/null 2>&1
+ fi
;;
external)
- gpioctl "dirout" "$antgpio" >/dev/null 2>&1
- gpioctl "clear" "$antgpio" >/dev/null 2>&1
- antdiv=0
- antrx=1
- anttx=1
+ if [ "$gpioctl" = "0" ]; then
+ echo 0 >/sys/class/leds/$antgpio/brightness
+ else
+ gpioctl "dirout" "$antgpio" >/dev/null 2>&1
+ gpioctl "clear" "$antgpio" >/dev/null 2>&1
+ fi
;;
esac
fi