X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/ef1ad461049d19b31056d9015daacc41fae9cb36..9765eded20b27f26a13947613ebc4728ab06de35:/package/madwifi/files/lib/wifi/madwifi.sh diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index b6ba46562..0ff929260 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -42,7 +42,7 @@ scan_atheros() { *) 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}" } @@ -50,18 +50,14 @@ disable_atheros() ( 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 } @@ -177,12 +173,11 @@ 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=wlan; [ -n "$gpioctl" ] && gpioctl=0;; + NanoStation2) antgpio=7;; NanoStation5) antgpio=1;; esac if [ -n "$antgpio" ]; then @@ -198,20 +193,12 @@ enable_atheros() { [ -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