From: acinonyx Date: Sun, 12 Jul 2009 15:37:59 +0000 (+0000) Subject: madwifi.sh channel fix X-Git-Url: https://git.archive.openwrt.org/?a=commitdiff_plain;h=90951f130b65ad10b69d9750267819f0ee785455;p=openwrt.git 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16814 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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" - - iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null - } - + 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 + config_get_bool hidden "$vif" hidden 0 iwpriv "$ifname" hide_ssid "$hidden" @@ -339,7 +335,6 @@ enable_atheros() { fi ;; esac - first=0 done }