Daniel Lenski wrote:

> - Hypothesis: since the rtl8xxxu driver does not explicitly power off the
>  device before attempting to power it on, if it boots up in an unknown
>  state, it will remain in this state until explicitly power-cycled.

I am now pretty sure that this is the true cause of fimware not starting.

I found that I can induce "Firmware failed to start" by using kexec --force to 
restart the kernel without a clean shutdown.

After this incomplete reboot, the firmware always fails to start. I guess the 
rtl8xxxu hardware must be left in some unknown state:

[    2.794118] usb 1-1.4: Vendor: Realtek
[    2.794121] usb 1-1.4: Product: 802.11n WLAN Adapter
[    2.794124] usb 1-1.4: RTL8723AU rev B (TSMC) 1T1R, TX queues 2, WiFi=1, 
BT=1, GPS=0, HI PA=0
[    2.794125] usb 1-1.4: RTL8723AU MAC: 20:16:d8:ce:5e:29
[    2.794127] usb 1-1.4: rtl8xxxu: Loading firmware 
rtlwifi/rtl8723aufw_B_NoBT.bin
[    2.797136] usb 1-1.4: Firmware revision 31.0 (signature 0x2302)
[    2.878370] usb 1-1.4: Firmware checksum poll completed after 0 loops
[    4.153567] usb 1-1.4: Firmware failed to start after 5000 loops

After power-off and retry of rtl8xxxu_init_device, it then starts correctly:

[    4.153569] usb 1-1.4: Failed to init device, will retry 5 more times.
[    4.746357] usb 1-1.4: Firmware checksum poll completed after 0 loops
[    4.752456] usb 1-1.4: Firmware started after 23 loops
[    5.194825] usb 1-1.4: Enabling HT_20_40 on the 2.4GHz band

Should I submit a new patch to retry rtl8xxxu_init_device after power cycling?

Thanks,
Dan

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to