From a4ed68fbe47ef5a14cbe1d316a2ac159747a0f66 Mon Sep 17 00:00:00 2001 From: Vasilis Tsiligiannis Date: Sun, 12 Jul 2009 15:37:59 +0000 Subject: [PATCH] madwifi.sh channel fix In the madwifi.sh there is to read "only need to change freq band and channel on the first vif". This is wrong. For example if you create a new Ad-Hoc network and an AP interface, the channel is reseted to 1, regardless of the UCI setting. So remove this wrong code. Signed-off-by: Alina Friedrichsen SVN-Revision: 16814 --- package/madwifi/files/lib/wifi/madwifi.sh | 37 ++++++++++------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index 809780646f..fc692c0221 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -126,7 +126,6 @@ enable_atheros() { config_get distance "$device" distance [ -n "$distance" ] && sysctl -w dev."$device".distance="$distance" >&- - local first=1 for vif in $vifs; do local start_hostapd= vif_txpower= nosbeacon= config_get ifname "$vif" ifname @@ -146,29 +145,26 @@ enable_atheros() { } config_set "$vif" ifname "$ifname" - # only need to change freq band and channel on the first vif - [ "$first" = 1 ] && { config_get hwmode "$device" hwmode [ -z "$hwmode" ] && config_get hwmode "$device" mode - pureg=0 - case "$hwmode" in - *b) hwmode=11b;; - *bg) hwmode=11g;; - *g) hwmode=11g; pureg=1;; - *gdt) hwmode=11gdt;; - *a) hwmode=11a;; - *adt) hwmode=11adt;; - *ast) hwmode=11ast;; - *fh) hwmode=fh;; - *) hwmode=auto;; - esac - iwpriv "$ifname" mode "$hwmode" - iwpriv "$ifname" pureg "$pureg" + pureg=0 + case "$hwmode" in + *b) hwmode=11b;; + *bg) hwmode=11g;; + *g) hwmode=11g; pureg=1;; + *gdt) hwmode=11gdt;; + *a) hwmode=11a;; + *adt) hwmode=11adt;; + *ast) hwmode=11ast;; + *fh) hwmode=fh;; + *) hwmode=auto;; + esac + iwpriv "$ifname" mode "$hwmode" + iwpriv "$ifname" pureg "$pureg" + + iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null - iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null - } - config_get_bool hidden "$vif" hidden 0 iwpriv "$ifname" hide_ssid "$hidden" @@ -339,7 +335,6 @@ enable_atheros() { fi ;; esac - first=0 done }