diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-01-04 01:29:01 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-01-04 01:29:01 +0000 | 
| commit | 8fb079219b9d59341d27e18aefcb306693b7b66c (patch) | |
| tree | a8c1b706e3a94c8815462539c7c2bafa2b411bfe /package/madwifi/files/lib | |
| parent | 33c98e51b98df05b787e43977bd281d2751ffc16 (diff) | |
fix b/g mode selection for madwifi, update documentation
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5973 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/madwifi/files/lib')
| -rwxr-xr-x | package/madwifi/files/lib/wifi/madwifi.sh | 21 | 
1 files changed, 18 insertions, 3 deletions
diff --git a/package/madwifi/files/lib/wifi/madwifi.sh b/package/madwifi/files/lib/wifi/madwifi.sh index a22b5c4ad..5ccc52beb 100755 --- a/package/madwifi/files/lib/wifi/madwifi.sh +++ b/package/madwifi/files/lib/wifi/madwifi.sh @@ -73,6 +73,7 @@ enable_atheros() {  	config_get vifs "$device" vifs  	disable_atheros "$device" +	local first=1  	for vif in $vifs; do  		nosbeacon=  		config_get ifname "$vif" ifname @@ -89,8 +90,22 @@ enable_atheros() {  		}  		config_set "$vif" ifname "$ifname" -		config_get "$device" mode -		iwpriv "$ifname" mode "${mode:-11g}" +		[ "$first" = 1 ] && { +			# only need to change freq band and channel on the first vif +			config_get "$device" mode +			pureg=0 +			case "$mode" in +				*b) mode=11b;; +				*bg) mode=11g;; +				*g) mode=11g; pureg=1;; +				*a) mode=11a;; +				*) mode=11g;; +			esac +			iwconfig "$ifname" channel 0  +			iwpriv "$ifname" mode "$mode" +			iwpriv "$ifname" pureg "$pureg" +			iwconfig "$ifname" channel "$channel" +		}  		config_get wds "$vif" wds  		case "$wds" in @@ -120,7 +135,6 @@ enable_atheros() {  				config_get ssid "$vif" ssid  			;;  		esac -		iwconfig "$ifname" channel "$channel"  		ifconfig "$ifname" up  		local net_cfg bridge @@ -145,6 +159,7 @@ enable_atheros() {  				# FIXME: implement wpa_supplicant calls here  			;;  		esac +		first=0  	done  }  | 
