diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-08-21 14:54:51 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-08-21 14:54:51 +0000 |
commit | aa350ee98d884d49abd2a92716291489e00e954e (patch) | |
tree | 9a4f4181bb8728b5219ab5f9edd9fdb388a94c39 | |
parent | 3732e8c182de48adb2c9298bf7d9f427ffae3781 (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
-rwxr-xr-x | package/madwifi/files/lib/wifi/madwifi.sh | 37 |
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 bec72383b..cc340977b 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 } |