[Q] A500 3.2 loses WiFi connection
I've always experienced more or less problems with WiFi connectivity on my A500, on vanilla 3.0, 3.1, 3.2 and now, 3.2 Lightspeed 1.0.4 mod.
The tablet loses WiFi connection (with "(No service)"), then either reconnects in a second or stays with "connecting" message for several seconds and re-tries again and again, losing connectivity for 5-15 minutes. The problem is unrelated to DHCP (i.e. tablet never gets to "obtaining IP address" phase). The problem is quite frequent and persistent - short-time disconnections happen up to several times per minute.
I'm using self-built WiFi router, based on Atheros 2413 PCI card and GNU/Linux system (hostapd), WPA+WPA2-PSK. All devices (phones, notebooks) I've encountered worked fine for years, so the problem seem to be with tablet, not access point.
logcat gives me story like this:
Code:
I/wpa_supplicant(20318): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
V/WifiMonitor(19967): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
D/WifiStateMachine(19967): Network connection lost
D/WifiStateMachine(19967): Reset connections and stopping DHCP
I/wpa_supplicant(20318): CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:00:00:00:00:00
V/WifiMonitor(19967): Event [CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:00:00:00:00:00]
D/WifiStateMachine(19967): setDetailed state, old =CONNECTED and new state=DISCONNECTED
D/WifiStateMachine(19967): setDetailed state, old =DISCONNECTED and new state=DISCONNECTED
I/wpa_supplicant(20318): CTRL-EVENT-STATE-CHANGE id=0 state=2 BSSID=00:00:00:00:00:00
V/WifiMonitor(19967): Event [CTRL-EVENT-STATE-CHANGE id=0 state=2 BSSID=00:00:00:00:00:00]
D/WifiStateMachine(19967): setDetailed state, old =DISCONNECTED and new state=SCANNING
I/wpa_supplicant(20318): Trying to associate with 00:13:46:xx:xx:xx (SSID='drdaeman's home network' freq=2412 MHz)
V/WifiMonitor(19967): Event [Trying to associate with 00:13:46:xx:xx:xx (SSID='drdaeman's home network' freq=2412 MHz)]
I/wpa_supplicant(20318): CTRL-EVENT-STATE-CHANGE id=0 state=3 BSSID=00:13:46:xx:xx:xx
V/WifiMonitor(19967): Event [CTRL-EVENT-STATE-CHANGE id=0 state=3 BSSID=00:13:46:xx:xx:xx]
D/WifiStateMachine(19967): setDetailed state, old =SCANNING and new state=CONNECTING
I/wpa_supplicant(20318): Authentication with 00:13:46:xx:xx:xx timed out.
I/wpa_supplicant(20318): CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:13:46:xx:xx:xx
I/wpa_supplicant(20318): CTRL-EVENT-STATE-CHANGE id=-1 state=2 BSSID=00:00:00:00:00:00
V/WifiMonitor(19967): Event [Authentication with 00:13:46:xx:xx:xx timed out.]
V/WifiMonitor(19967): Event [CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:13:46:xx:xx:xx]
V/WifiMonitor(19967): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=2 BSSID=00:00:00:00:00:00]
D/WifiStateMachine(19967): setDetailed state, old =CONNECTING and new state=DISCONNECTED
D/WifiStateMachine(19967): setDetailed state, old =DISCONNECTED and new state=SCANNING
Then it repeats for some time. At the same time,
hostapd_cli all_sta on the router says that tablet is considered associated (i.e. it never sent disassociation packet, and not yet timed out).
It seems that the problem is related to background AP scanning. If I run ping using ConnectBot or adb shell, I get lots of the following messages:
Code:
E/wpa_supplicant(20318): ioctl[SIOCSIWPRIV] (cscan): -1
W/wpa_supplicant(20318): Failed to initiate AP scan.
And connectivity seem to stay better. It may accidentaly go down, but that's relatively rare. So, my guess is, the problem is caused by bcm4329 not properly restoring its state after scan.
(Unfortunately, I'm not experienced enough to recompile bcm4329 module with WL_TRACE enabled to see what's going on inside the kernel. If there are some sort of tutorial on how to set up build environment - I'd be grateful if someone would give a link.)
Does anyone experience similar problem or has any idea or suggestion on how to solve it?