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
master
Travis Kemen 2008-10-23 03:09:33 +00:00
parent 3c8d67166e
commit 19336e1276
1 changed files with 19 additions and 12 deletions

View File

@ -177,34 +177,41 @@ enable_atheros() {
config_get antrx "$device" rxantenna config_get antrx "$device" rxantenna
config_get anttx "$device" txantenna config_get anttx "$device" txantenna
config_get_bool softled "$device" softled 1 config_get_bool softled "$device" softled 1
config_get_bool gpioctl "$device" gpioctl
devname="$(cat /proc/sys/dev/$device/dev_name)" devname="$(cat /proc/sys/dev/$device/dev_name)"
antgpio= antgpio=
case "$devname" in case "$devname" in
NanoStation2) antgpio=7;; NanoStation2) antgpio=wifi; [ -n "$gpioctl" ] && gpioctl=0;;
NanoStation5) antgpio=1;; NanoStation5) antgpio=1;;
esac esac
if [ -n "$antgpio" ]; then if [ -n "$antgpio" ]; then
softled=0 softled=0
config_get polarity "$device" polarity config_get antenna "$device" antenna
case "$polarity" in case "$antenna" in
external) antdiv=0; antrx=1; anttx=1 ;;
horizontal) antdiv=0; antrx=1; anttx=1 ;; horizontal) antdiv=0; antrx=1; anttx=1 ;;
vertical) antdiv=0; antrx=2; anttx=2 ;; vertical) antdiv=0; antrx=2; anttx=2 ;;
auto) antdiv=1; antrx=0; anttx=0 ;; auto) antdiv=1; antrx=0; anttx=0 ;;
esac esac
config_get antenna "$device" antenna
[ -x "$(which gpioctl 2>/dev/null)" ] || antenna= [ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
case "$antenna" in case "$antenna" in
internal) horizontal|vertical|auto)
gpioctl "dirout" "$antgpio" >/dev/null 2>&1 if [ "$gpioctl" = "0" ]; then
gpioctl "set" "$antgpio" >/dev/null 2>&1 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) external)
gpioctl "dirout" "$antgpio" >/dev/null 2>&1 if [ "$gpioctl" = "0" ]; then
gpioctl "clear" "$antgpio" >/dev/null 2>&1 echo 0 >/sys/class/leds/$antgpio/brightness
antdiv=0 else
antrx=1 gpioctl "dirout" "$antgpio" >/dev/null 2>&1
anttx=1 gpioctl "clear" "$antgpio" >/dev/null 2>&1
fi
;; ;;
esac esac
fi fi