diff options
-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)) |