Hi, I submitted a small patch for the r8723au driver a few months, and quickly abandoned that driver once Jes Sorensen pointed out his rtl8xxxu wireless driver which supports the same RTL8723AU chipset and is part of the mainline (http://thread.gmane.org/gmane.linux.kernel.wireless.general/146615). I frequently encounter "Firmware failed to start" errors after a cold boot, although rtl8xxxu is totally stable and reliable otherwise. It appears that other chipsets supported by the driver have the same problem. Here are a couple of relevant bug reports: - http://ubuntuforums.org/showthread.php?t=2321756 - https://www.mail-archive.com/ubuntu-bugs@xxxxxxxxxxxxxxxx/msg4942468.html This issue seems to occur because RTL8XXXU_FIRMWARE_POLL_MAX (1000) is too short, and the MCU fails to start up as quickly as expected: /* Wait for firmware to become ready */ for (i = 0; i < RTL8XXXU_FIRMWARE_POLL_MAX; i++) { val32 = rtl8xxxu_read32(priv, REG_MCU_FW_DL); if (val32 & MCU_WINT_INIT_READY) break; udelay(100); } if (i == RTL8XXXU_FIRMWARE_POLL_MAX) { dev_warn(dev, "Firmware failed to start\n"); ret = -EAGAIN; goto exit; } I've made a small patch to make a configurable module parameter (firmware_poll_max). With a longer value (5000), the driver now starts up consistently and successfully after cold-boot. I would like to propose both increasing the default value, and making it a configurable parameter. If this patch will be useful as-is, I will submit it, or I can help collect more debugging information if it's desired. Thanks, Dan Lenski -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html