On my Thinkpad X201, since commit 5ed540aecc2aae92d5c97b9a9306a5bf88ad5574 ("iwlwifi: use mac80211 throughput trigger") the behaviour of the Wifi LED has changed in an annoying way. Before, it blinked only if there was data traffic; otherwise it stayed on. After said commit, when joining a WLAN it is turned on and shortly after starts to blink. Then it never stops blinking (until leaving the network). And if there's data traffic it blinks even faster. This is /very/ distracting, and counterintuitive (blinking should only occur on traffic).
Forgot: The card is a "Intel Corporation Centrino Ultimate-N 6300 (rev 35)".
... using "iwlagn".
I suspect there may be more traffic on your network than you realize -- my LED barely blinks at all. Still, I'll Cc some relevant people in case there is a problem. Meanwhile, you can change the LED trigger to something else on your local box. Just do something like this: echo phy0assoc > /sys/class/leds/phy0-led/trigger For a list of other available triggers, you can do this: cat /sys/class/leds/phy0-led/trigger I'll leave this open for now, just in case there is actually a problem with the throughput trigger.
Created attachment 55402 [details] led stay solid on when no traffic Could you try this patch which should stay solid on if no traffic. the other method is passing module parameter when old the driver $sudo modprobe iwlagn led_mode=1 Thanks Wey
Created attachment 55412 [details] remove blinking with no traffic The attached patch will remove the blinking when there's _no_ traffic, but obviously it won't change anything if there's even a little bit of traffic. I'll check the product documentation tomorrow, though I'm quite sure I checked when writing that patch and this behaviour is intentional. And the other fixes still stand, of course, you can change it in sysfs.
I am not sure you want to remove the entry from the table. I believe the product document has the following /* Throughput OFF time(ms) ON time (ms) * >300 25 25 * >200 to 300 40 40 * >100 to 200 55 55 * >70 to 100 65 65 * >50 to 70 75 75 * >20 to 50 85 85 * >10 to 20 95 95 * >5 to 10 110 110 * >1 to 5 130 130 * >0 to 1 167 167 * <=0 SOLID ON */ Thought? Wey
Right, ok, so in that case we should change the -1 to 0 like this: - { .throughput = 0 * 1024 - 1, .blink_time = 334 }, + { .throughput = 0, .blink_time = 334 },
FWIW, I like that behaviour better, but I was pretty sure it was intended to blink even with no throughput. But maybe I looked at an outdated document or misunderstood it.
yap, is works. but I still think we need to define if its "-1" the led should be solid. I understand in mac80211, the default is on = 1 off = 0 but I still like to define and control it in the driver Wey
Don't think we should do it that way though, if anything we should check if (off == 0) on = IWL_LED_ON; or something like that rather than checking "on == 0" (since that will not be the case for other triggers)
it is what I already did in the patch I attach with some minor logic different. ok, I can modify the patch, not fully agree remove the "-1" entry, but I guess it is ok. Wey
Created attachment 55422 [details] led stay solid on when no traffic How this patch looks? Wey
Looks good to me. The different logic is better I think because then we don't need the -1 entry and it can handle other triggers (other than throughput trigger) better.
ad 3: Thanks for your concern, but I checked with wireshark ;) Thanks for the trigger tip, didn't try it yet though. (I had reverted said commit as a private short-time fix.) ad 12: Applied this patch on top of mainline v2.6.39-rc4. LED "behaves well" again :) I'd call this bug fixed. Thanks for your efforts, guys.
Now that v2.6.39-rc6 is out, I happened to notice commit 1501b6764f0c363a9f1d72f9d422841f81f1bd8c ("iwlegacy: led stay solid on when no traffic"). It's almost the same patch as the one above, but changes drivers/net/wireless/iwlegacy/iwl-led.c instead of drivers/net/wireless/iwlwifi/iwl-led.c Is this a mistake, or intentional?
(Just to add, I haven't yet seen the patch from #12 being merged into mainline.)
drivers/net/wireless/iwlegacy/iwl-led.c for legacy devices(3945 & 4965) drivers/net/wireless/iwlwifi/iwl-led.c for newer devices (5000 and after) #12 is submit to -next already Thanks Wey
The patch is now included in linux-3.0-rc1; I'd consider this fixed. Thanks :)
Could you update the bug status and close it Thanks Wey