Bug 63821 - [pandaboard] wl12xx borked after one up/down cycle
Summary: [pandaboard] wl12xx borked after one up/down cycle
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: network-wireless (show other bugs)
Hardware: ARM Linux
: P1 normal
Assignee: drivers_network-wireless@kernel-bugs.osdl.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-26 21:56 UTC by Tobias Jakobi
Modified: 2014-01-18 15:40 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.12-rc6
Subsystem:
Regression: No
Bisected commit-id:


Attachments
vanilla-3.12-rc6 config (69.66 KB, text/plain)
2013-10-26 21:59 UTC, Tobias Jakobi
Details
dmesg output after one up/down cycle (24.43 KB, text/plain)
2013-10-26 22:00 UTC, Tobias Jakobi
Details

Description Tobias Jakobi 2013-10-26 21:56:30 UTC
Hello,

the wifi hardware on the Pandaboard ES, which is a TI wl1271 (WiLink 6.0), gets screwed up by doing one up/down cycle. This can either be a "ifconfig wlan0 up && ifconfig wlan0 down", or something else that trigger firmware booting inside wl12xx (e.g. wpa_supplicant also "works").

I get this output on the first try (which works):
wlcore: firmware booted (Rev 6.3.10.0.133)
wlan0: authenticate with a0:f3:c1:46:2c:e4
wlan0: send auth to a0:f3:c1:46:2c:e4 (try 1/3)
wlan0: authenticated
wlan0: associate with a0:f3:c1:46:2c:e4 (try 1/3)
wlan0: RX AssocResp from a0:f3:c1:46:2c:e4 (capab=0x431 status=0 aid=2)
wlan0: associated
cfg80211: Calling CRDA for country: DE
cfg80211: Regulatory domain changed to country: DE
cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
cfg80211:   (2400000 KHz - 2483500 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:   (5150000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:   (5250000 KHz - 5350000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:   (5470000 KHz - 5725000 KHz @ 40000 KHz), (N/A, 2698 mBm)
cfg80211:   (57240000 KHz - 65880000 KHz @ 2160000 KHz), (N/A, 4000 mBm)
wlcore: Association completed.

I then quit wpa_supplicant, and start it again:
wlcore: down
wlcore: ERROR timeout waiting for the hardware to complete initialization
wlcore: ERROR timeout waiting for the hardware to complete initialization
wlcore: ERROR timeout waiting for the hardware to complete initialization
wlcore: ERROR firmware boot failed despite 3 retries

I have to do a cold reboot of the Pandaboard to get it running again. A warm reboot doesn't suffice.

I found a similar report here:
http://comments.gmane.org/gmane.linux.ports.arm.omap/104993

The commit mentioned in the report:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=851320e3f33503f557135a7fef6da66a2f7eec55

Quoting from the commit message:
"Note that looks like the WLAN interface fails to come up after a warm reset, but that most likely was also happening with the legacy booting and needs a separate fix."

I cannot confirm this. With the 3.4 kernel from TI (http://dev.omapzoom.org/?p=integration/kernel-ubuntu.git;a=shortlog;h=refs/heads/ti-ubuntu-3.4-stable) the wl1271 device survives many up/down cycles.

Greets,
Tobias
Comment 1 Tobias Jakobi 2013-10-26 21:59:47 UTC
Created attachment 112351 [details]
vanilla-3.12-rc6 config
Comment 2 Tobias Jakobi 2013-10-26 22:00:11 UTC
Created attachment 112361 [details]
dmesg output after one up/down cycle
Comment 3 Tobias Jakobi 2013-11-28 23:21:27 UTC
Confirming that these patches (applied on top of 3.12.1) fix the issue:
https://patchwork.kernel.org/patch/3218501/
https://patchwork.kernel.org/patch/3218511/

Going to close this, once they hit mainline.
Comment 4 Tobias Jakobi 2014-01-18 15:40:33 UTC
Patches are in mainline. Closing.

Note You need to log in before you can comment on or make changes to this bug.