diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2010-04-07 21:33:05 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2010-04-07 21:33:05 +0000 |
commit | b63c20e20c7570f00d2418195781997249c6baf4 (patch) | |
tree | 5eedc1d0ad537733ca93423bdb746bd09212a255 | |
parent | cac4162fa05dc96f4ee66aac105548f55c5f41e7 (diff) | |
download | master-187ad058-b63c20e20c7570f00d2418195781997249c6baf4.tar.gz master-187ad058-b63c20e20c7570f00d2418195781997249c6baf4.tar.bz2 master-187ad058-b63c20e20c7570f00d2418195781997249c6baf4.zip |
[brcm-2.4] broadcom-wl: implement "hwmode" uci option, supports 11b (B only), 11g (G only), 11gst (G performance) and 11bg (default)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20740 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/broadcom-wl/files/lib/wifi/broadcom.sh | 9 | ||||
-rw-r--r-- | package/broadcom-wl/src/wlc/wlc.c | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh index c444ce8fd5..5350df44d4 100644 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh @@ -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} diff --git a/package/broadcom-wl/src/wlc/wlc.c b/package/broadcom-wl/src/wlc/wlc.c index 747b3d5bb9..5a512349f6 100644 --- a/package/broadcom-wl/src/wlc/wlc.c +++ b/package/broadcom-wl/src/wlc/wlc.c @@ -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)) |