diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-07-05 22:55:40 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-07-05 22:55:40 +0000 |
commit | 4ec890866929ac48773791b3a9d78a169d504bae (patch) | |
tree | 20d6ccc52e8650801bd8ef80da2258b1d4317cbb /package | |
parent | 8e4efd42d98bbb5b5c4d891db3b889cb02dced01 (diff) | |
download | openwrt-4ec890866929ac48773791b3a9d78a169d504bae.tar.gz openwrt-4ec890866929ac48773791b3a9d78a169d504bae.tar.bz2 openwrt-4ec890866929ac48773791b3a9d78a169d504bae.zip |
broadcom-wl: fix led support
Some devices have an nvram setting, which make broadcom-wl turn of the
led all the time. When the driver is switched on and we find such a
setting we replace it with a better value.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41518
Diffstat (limited to 'package')
-rw-r--r-- | package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh | 7 | ||||
-rw-r--r-- | package/kernel/broadcom-wl/src/wlc.c | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh index ba31518c1f..df5072c5b0 100644 --- a/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/kernel/broadcom-wl/files/lib/wifi/broadcom.sh @@ -120,6 +120,7 @@ disable_broadcom() { wlc ifname "$device" stdin <<EOF $ifdown +leddc 0xffff EOF ) true @@ -207,6 +208,11 @@ enable_broadcom() { esac } + local leddc = $(wlc ifname "$device" leddc) + if [ "$leddc" -eq 0xffff ]; then + leddc = 0x0; + fi + local _c=0 local nas="$(which nas)" local if_pre_up if_up nas_cmd @@ -384,6 +390,7 @@ band ${band:-0} ${nmode:+nmode $nmode} ${nmode:+${nreqd:+nreqd $nreqd}} ${gmode:+gmode $gmode} +leddc $leddc apsta $apsta ap $ap ${mssid:+mssid $mssid} diff --git a/package/kernel/broadcom-wl/src/wlc.c b/package/kernel/broadcom-wl/src/wlc.c index 50c40e802f..db48b73657 100644 --- a/package/kernel/broadcom-wl/src/wlc.c +++ b/package/kernel/broadcom-wl/src/wlc.c @@ -999,6 +999,14 @@ static const struct wlc_call wlc_calls[] = { .data.str = "cap", .desc = "Number of VIF's supported" }, + { + .name = "leddc", + .param = INT, + .handler = wlc_iovar, + .data.str = "leddc", + .desc = "LED Duty Cycle" + }, + }; #define wlc_calls_size (sizeof(wlc_calls) / sizeof(struct wlc_call)) |