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:
Jo-Philipp Wich 2010-04-07 21:33:05 +00:00
parent 843ac4a11a
commit d240d8edad
2 changed files with 16 additions and 0 deletions

View file

@ -128,6 +128,7 @@ enable_broadcom() {
config_get txpower "$device" txpower
config_get frag "$device" frag
config_get rts "$device" rts
config_get hwmode "$device" hwmode
local vif_pre_up vif_post_up vif_do_up vif_txpower
local doth=0
local wmm=0
@ -159,6 +160,13 @@ enable_broadcom() {
;;
esac
case "$hwmode" in
*b) hwmode=0;;
*g) hwmode=2;;
*gst) hwmode=4;;
*) hwmode=1;;
esac
for vif in $vifs; do
config_get vif_txpower "$vif" txpower
@ -290,6 +298,7 @@ enable_broadcom() {
wlc ifname "$device" stdin <<EOF
$ifdown
gmode ${hwmode:-1}
apsta $apsta
ap $ap
${mssid:+mssid $mssid}

View file

@ -919,6 +919,13 @@ static const struct wlc_call wlc_calls[] = {
.handler = wlc_maclist,
.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))