As of today, 2015/3/16: WiFi status I said WiFi is stable before, however, more tests show me it is not. Or I should say when the signal is good, no extra beacon loss/reassociation, WiFi seems stable. Otherwise, there is big chance (as below) that WiFi will hang.
Part 1) https://github.com/96boards/linux/issues/16 About issue: wl1271_sdio mmc2:0001:2: sdio write failed (-110)
in Debian when configured in /etc/network/interfaces.d/wlan0 and WiFi is up and connected when system booting, it is very easy to observe a WiFi hang. The reason of this lies in firmware cannot be waken up from ELP (Extreme Low Power) mode. Note: not every wakeup from ELP mode will fail, there are still unknown 'random' factors. So right, the issue is not rootcaused. But,
Workaround exists: disable ELP mode. Attached a new config file (please save it to board's /lib/firmware/ti-connectivity/ and rename it to wl18xx-conf.bin) which has ELP disabled.
Or you can do this before wlan0 up: iw wlan0 set power_save off echo 0> /sys/kernel/debug/ieee80211/phy0/wlcore/sleep_auth ifconfig wlan0 up
Part 2) There is another type of error which is easy to be reproduced when you run 'iw wlan0 disconnect' then run 'iw wlan0 scan' repeatedly. Two kinds of error messages but both point to a firmware-side timeout issue. They are: a) wlcore: ERROR SW watchdog interrupt received! That's a firmware watchdog timer interrupt and reported from FW to the host. b) wlcore: Scan completed due to error. That's a scan timeout error. By changing the timeout value from 30 seconds to longer does'n help. And again, here I didn't see any SDIO or wlcore driver side errors. The only thing noticeable is just a firmware side timeout.
Next plan: 1) check why firmware 'hangs'. Due to limited accessibility to pins on WL1835 module, this is not easy.
Can we get TI field engineers' help here? Anybody has any experience on similar issues?
2) check why the current wlcore recovery effort always fail. If this can help firmware out, it also helps.