broadcom-wl: implement "hwmode" uci option, supports 11b (B only), 11g (G only), 11gst (G performance) and 11bg (default)
SVN-Revision: 20740
This commit is contained in:
		@@ -128,6 +128,7 @@ enable_broadcom() {
 | 
				
			|||||||
	config_get txpower "$device" txpower
 | 
						config_get txpower "$device" txpower
 | 
				
			||||||
	config_get frag "$device" frag
 | 
						config_get frag "$device" frag
 | 
				
			||||||
	config_get rts "$device" rts
 | 
						config_get rts "$device" rts
 | 
				
			||||||
 | 
						config_get hwmode "$device" hwmode
 | 
				
			||||||
	local vif_pre_up vif_post_up vif_do_up vif_txpower
 | 
						local vif_pre_up vif_post_up vif_do_up vif_txpower
 | 
				
			||||||
	local doth=0
 | 
						local doth=0
 | 
				
			||||||
	local wmm=0
 | 
						local wmm=0
 | 
				
			||||||
@@ -159,6 +160,13 @@ enable_broadcom() {
 | 
				
			|||||||
		;;
 | 
							;;
 | 
				
			||||||
	esac
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						case "$hwmode" in
 | 
				
			||||||
 | 
							*b)   hwmode=0;;
 | 
				
			||||||
 | 
							*g)   hwmode=2;;
 | 
				
			||||||
 | 
							*gst) hwmode=4;;
 | 
				
			||||||
 | 
							*)    hwmode=1;;
 | 
				
			||||||
 | 
						esac
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for vif in $vifs; do
 | 
						for vif in $vifs; do
 | 
				
			||||||
		config_get vif_txpower "$vif" txpower
 | 
							config_get vif_txpower "$vif" txpower
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -290,6 +298,7 @@ enable_broadcom() {
 | 
				
			|||||||
	wlc ifname "$device" stdin <<EOF
 | 
						wlc ifname "$device" stdin <<EOF
 | 
				
			||||||
$ifdown
 | 
					$ifdown
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					gmode ${hwmode:-1}
 | 
				
			||||||
apsta $apsta
 | 
					apsta $apsta
 | 
				
			||||||
ap $ap
 | 
					ap $ap
 | 
				
			||||||
${mssid:+mssid $mssid}
 | 
					${mssid:+mssid $mssid}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -919,6 +919,13 @@ static const struct wlc_call wlc_calls[] = {
 | 
				
			|||||||
		.handler = wlc_maclist,
 | 
							.handler = wlc_maclist,
 | 
				
			||||||
		.desc = "MACs of associated stations"
 | 
							.desc = "MACs of associated stations"
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							.name = "gmode",
 | 
				
			||||||
 | 
							.param = INT,
 | 
				
			||||||
 | 
							.data.num = ((WLC_GET_GMODE << 16) | WLC_SET_GMODE),
 | 
				
			||||||
 | 
							.handler = wlc_ioctl,
 | 
				
			||||||
 | 
							.desc = "G Mode"
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
#define wlc_calls_size (sizeof(wlc_calls) / sizeof(struct wlc_call))
 | 
					#define wlc_calls_size (sizeof(wlc_calls) / sizeof(struct wlc_call))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user