*) echo "$device: Invalid mode combination in config"; return 1;;
esac
- config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${sta:+$sta }${wds:+$wds }${monitor:+$monitor}"
+ config_set "$device" vifs "${sta:+$sta }${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${wds:+$wds }${monitor:+$monitor}"
}
local device="$1"
set_wifi_down "$device"
- # kill all running hostapd and wpa_supplicant processes that
- # are running on atheros vifs
- for pid in `pidof hostapd wpa_supplicant`; do
- grep ath /proc/$pid/cmdline >/dev/null && \
- kill $pid
- done
include /lib/network
cd /proc/sys/net
for dev in *; do
grep "$device" "$dev/%parent" >/dev/null 2>/dev/null && {
- ifconfig "$dev" down
+ [ -f "/var/run/wifi-${dev}.pid" ] &&
+ kill "$(cat "/var/run/wifi-${dev}.pid")"
+ ifconfig "$dev" down
unbridge "$dev"
wlanconfig "$dev" destroy
}
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=wlan; [ -n "$gpioctl" ] && gpioctl=0;;
+ NanoStation2) antgpio=7;;
NanoStation5) antgpio=1;;
esac
if [ -n "$antgpio" ]; then
[ -x "$(which gpioctl 2>/dev/null)" ] || antenna=
case "$antenna" in
horizontal|vertical|auto)
- if [ "$gpioctl" = "0" ]; then
- echo 1 >/sys/class/leds/$antgpio/brightness 2>&1
- else
- gpioctl "dirout" "$antgpio" >/dev/null 2>&1
- gpioctl "set" "$antgpio" >/dev/null 2>&1
- fi
+ gpioctl "dirout" "$antgpio" >/dev/null 2>&1
+ gpioctl "set" "$antgpio" >/dev/null 2>&1
;;
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
+ gpioctl "dirout" "$antgpio" >/dev/null 2>&1
+ gpioctl "clear" "$antgpio" >/dev/null 2>&1
;;
esac
fi