- config_get_bool antdiv "$device" diversity
- 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=wifi; [ -n "$gpioctl" ] && gpioctl=0;;
- NanoStation5) antgpio=1;;
- esac
- if [ -n "$antgpio" ]; then
- softled=0
- 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
-
- [ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
- case "$antenna" in
- 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)
- 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
-
- [ -n "$antdiv" ] && sysctl -w dev."$device".diversity="$antdiv" >&-
- [ -n "$antrx" ] && sysctl -w dev."$device".rxantenna="$antrx" >&-
- [ -n "$anttx" ] && sysctl -w dev."$device".txantenna="$anttx" >&-
- [ -n "$softled" ] && sysctl -w dev."$device".softled="$softled" >&-
-
- config_get distance "$device" distance
- [ -n "$distance" ] && athctrl -i "$device" -d "$distance" >&-
-
- config_get txpwr "$vif" txpower
- [ -n "$txpwr" ] && iwconfig "$ifname" txpower "${txpwr%%.*}"
-