summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoracinonyx <acinonyx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-07-12 15:37:59 +0000
committeracinonyx <acinonyx@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-07-12 15:37:59 +0000
commit90951f130b65ad10b69d9750267819f0ee785455 (patch)
tree44529e31f62045ae17a19c539e53c53ceaedd0cf
parente86d60479c5dc8543e2fe1d35f6a7e9bb7cd56c2 (diff)
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 <x-alina@gmx.net> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16814 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xpackage/madwifi/files/lib/wifi/madwifi.sh39
1 files changed, 17 insertions, 22 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"
-
- 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
}