projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hostapd,madwifi: rename agmode option to hwmode. 11a and 11g aren't the only allowed...
[openwrt/openwrt.git]
/
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 6ee6435658a6446816a3052197da42934d1a2d8c..db7f057940087a320754eb69f2385d6eb8ddba8c 100755
(executable)
--- 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
*) 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"
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 && {
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
}
unbridge "$dev"
wlanconfig "$dev" destroy
}
@@
-99,22
+95,22
@@
enable_atheros() {
config_set "$vif" ifname "$ifname"
# only need to change freq band and channel on the first vif
config_set "$vif" ifname "$ifname"
# only need to change freq band and channel on the first vif
- config_get
agmode "$device" ag
mode
- [ -z "$
agmode" ] && config_get ag
mode "$device" mode
+ config_get
hwmode "$device" hw
mode
+ [ -z "$
hwmode" ] && config_get hw
mode "$device" mode
pureg=0
pureg=0
- case "$
ag
mode" in
- *b)
ag
mode=11b;;
- *bg)
ag
mode=11g;;
- *g)
ag
mode=11g; pureg=1;;
- *gdt)
ag
mode=11gdt;;
- *a)
ag
mode=11a;;
- *adt)
ag
mode=11adt;;
- *ast)
ag
mode=11ast;;
- *fh)
ag
mode=fh;;
- *)
ag
mode=auto;;
+ case "$
hw
mode" in
+ *b)
hw
mode=11b;;
+ *bg)
hw
mode=11g;;
+ *g)
hw
mode=11g; pureg=1;;
+ *gdt)
hw
mode=11gdt;;
+ *a)
hw
mode=11a;;
+ *adt)
hw
mode=11adt;;
+ *ast)
hw
mode=11ast;;
+ *fh)
hw
mode=fh;;
+ *)
hw
mode=auto;;
esac
esac
- iwpriv "$ifname" mode "$
ag
mode"
+ iwpriv "$ifname" mode "$
hw
mode"
iwpriv "$ifname" pureg "$pureg"
[ "$first" = 1 ] && {
iwpriv "$ifname" pureg "$pureg"
[ "$first" = 1 ] && {
@@
-215,9
+211,6
@@
enable_atheros() {
config_get distance "$device" distance
[ -n "$distance" ] && athctrl -i "$device" -d "$distance" >&-
config_get distance "$device" distance
[ -n "$distance" ] && athctrl -i "$device" -d "$distance" >&-
- config_get txpwr "$vif" txpower
- [ -n "$txpwr" ] && iwconfig "$ifname" txpower "${txpwr%%.*}"
-
config_get rate "$vif" rate
[ -n "$rate" ] && iwconfig "$ifname" rate "${rate%%.*}"
config_get rate "$vif" rate
[ -n "$rate" ] && iwconfig "$ifname" rate "${rate%%.*}"
@@
-281,6
+274,11
@@
enable_atheros() {
esac
ifconfig "$ifname" up
esac
ifconfig "$ifname" up
+
+ # TXPower settings only work if device is up already
+ config_get txpwr "$vif" txpower
+ [ -n "$txpwr" ] && iwconfig "$ifname" txpower "${txpwr%%.*}"
+
local net_cfg bridge
net_cfg="$(find_net_config "$vif")"
[ -z "$net_cfg" ] || {
local net_cfg bridge
net_cfg="$(find_net_config "$vif")"
[ -z "$net_cfg" ] || {