summaryrefslogtreecommitdiff
path: root/package/madwifi/files/lib/wifi
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-21 14:54:51 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-21 14:54:51 +0000
commitaa350ee98d884d49abd2a92716291489e00e954e (patch)
tree9a4f4181bb8728b5219ab5f9edd9fdb388a94c39 /package/madwifi/files/lib/wifi
parent3732e8c182de48adb2c9298bf7d9f427ffae3781 (diff)
madwifi: keep a/g mode and pureg setting in sync across vaps
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12363 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/files/lib/wifi')
-rwxr-xr-xpackage/madwifi/files/lib/wifi/madwifi.sh37
1 files changed, 19 insertions, 18 deletions
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh
index bec72383b3..cc340977b2 100755
--- a/package/madwifi/files/lib/wifi/madwifi.sh
+++ b/package/madwifi/files/lib/wifi/madwifi.sh
@@ -94,25 +94,26 @@ enable_atheros() {
}
config_set "$vif" ifname "$ifname"
+ # only need to change freq band and channel on the first vif
+ config_get agmode "$device" agmode
+ [ -z "$agmode" ] && config_get agmode "$device" mode
+
+ pureg=0
+ case "$agmode" in
+ *b) agmode=11b;;
+ *bg) agmode=11g;;
+ *g) agmode=11g; pureg=1;;
+ *gdt) agmode=11gdt;;
+ *a) agmode=11a;;
+ *adt) agmode=11adt;;
+ *ast) agmode=11ast;;
+ *fh) agmode=fh;;
+ *) agmode=auto;;
+ esac
+ iwpriv "$ifname" mode "$agmode"
+ iwpriv "$ifname" pureg "$pureg"
+
[ "$first" = 1 ] && {
- # only need to change freq band and channel on the first vif
- config_get agmode "$device" agmode
- [ -z "$agmode" ] && config_get agmode "$device" mode
-
- pureg=0
- case "$agmode" in
- *b) agmode=11b;;
- *bg) agmode=11g;;
- *g) agmode=11g; pureg=1;;
- *gdt) agmode=11gdt;;
- *a) agmode=11a;;
- *adt) agmode=11adt;;
- *ast) agmode=11ast;;
- *fh) agmode=fh;;
- *) agmode=auto;;
- esac
- iwpriv "$ifname" mode "$agmode"
- iwpriv "$ifname" pureg "$pureg"
iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
}