Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

For several weeks now my Android (Gingerbread 2.3.6) phone has been losing it's WiFi signal momentarily, typically at about 3 minute intervals (about 3 minutes, 1.5 seconds) and occasionally at some longer interval that always seems to be a multiple of just over 3 minutes. This causes an interruption of several seconds while the WiFi connection is re-established and typically fails any kind of download/streaming that is happening, makes web sites "unreachable" and generally makes the phone unusable as a data device due to the frequency. The signal remains down for about a second, but the phone takes a few more seconds to reconnect to the router.

This happens regardless of proximity to the router, which shows a very strong signal - usually -40 to -30 dBm or better in the same room, nowhere in the house less than -70 dBm. It also happens regardless of whether the phone is plugged in or on battery.

Some specific things I've tried that had no effect:

  • Changing channels (I've tried 1, 4, 8 and 9).
  • Turning off the router's guest access.
  • Turning off the 5.0 GHz band.
  • Setting the router to Wireless N only (though that did prevent my laptop from connecting, which only supports G).
  • Changing the phone's wireless advanced settings sleep policy to Never.
  • Setting the battery mode to Performance mode.

Monitoring the signal on my phone with WiFi analyzer, shows all WiFi signals on all channels drop to nothing when the WiFi connection is lost (there are two other networks on different channels which are strong enough to be relevant, with about 6 others constantly fading in and out). WiFi analyzer shows 3 separate signals for my router, the main 2.4 GHz, the guest 2.4 GHz and the 5.0 GHz.

Using WiFi Analyzer on my wife's phone side-by-side shows no change in signal when my phone drops, nor does her phone drop.

Monitoring the signal using our laptop, side-by-side likewise shows no signal loss and likewise the laptop does not lose it's WiFi connection.

But, at work, the phone seems to not exhibit the same behavior, or, if it does, it's very occasional. Monitoring it all day at work I only saw the signal drop 3 or 4 times. The signal strength of the various networks there is comparatively weak.

AT&T were super helpful: "Sorry, we can't help you with WiFi problems. You could try doing a factory reset on your phone". </sarcasm>

The router is relatively new, but has been working fine with this phone since last Dec.

Phone          : Motorola Atrix MB860, System version 4.5.141.MB860.ATT.en.US, Android 2.3.6, Build Number 4.5.141.
Router         : Belkin N750 DB (F9K1103 v1 (01C)).
Router Firmware: 1.00.46 (2011/10/28 6:37:11).
Security       : WPA/WPA2-Personal (PSK)
share|improve this question

2 Answers 2

up vote 6 down vote accepted

It looks like I may have found the problem. The latest update from AT&T (4.5.141.MB860.ATT.en.US) which they pushed a few weeks ago appears to not handle a "Forever" DHCP lease properly or my router does not properly handle a DHCP lease renewal when configured for "Forever". One does have to wonder why the phone was renewing a lease which had no timeout, and especially after only 150 seconds (allowing for the 30 second network request timeout).

Coincident with the WiFi dropping, the logs show the phone tearing down the WiFi service and restarting it after a failed lease renewal request. Because the router has always had a "Forever" lease time, my money is on the update introducing a bug in the phone.

From my phone log (note there's a large time between the request and the renewal only because the log captures only a couple of minutes, so I had to capture a number of small log fragments before I tumbled to the DHCP connection):

03-27 20:46:25.928 D/WifiStateTracker( 1637): DHCP request started
...
03-27 20:46:27.931 D/WifiStateTracker( 1637): DHCP succeeded with lease: -1
...
03-27 21:16:23.938 D/WifiStateTracker( 1637): DHCP renewal started
...
03-27 21:16:53.947 D/WifiStateTracker( 1637): DHCP renewal failed: Timed out waiting for DHCP Renew to finish
...
03-27 21:16:54.008 V/WifiMonitor( 1637): Event [CTRL-EVENT-STATE-CHANGE id=2 state=8 BSSID=00:00:00:00:00:00]
03-27 21:16:54.018 V/WifiStateTracker( 1637): Changing supplicant state: COMPLETED ==> DORMANT
03-27 21:16:54.018 I/wpa_supplicant(12515): CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys
03-27 21:16:54.018 V/WifiMonitor( 1637): Event [CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys]
03-27 21:16:54.018 I/wpa_supplicant(12515): CTRL-EVENT-STATE-CHANGE id=-1 state=8 BSSID=00:00:00:00:00:00
03-27 21:16:54.018 D/WifiStateTracker( 1637): Reset connections and stopping DHCP
03-27 21:16:54.028 V/WifiMonitor( 1637): Event [CTRL-EVENT-STATE-CHANGE id=-1 state=8 BSSID=00:00:00:00:00:00]
03-27 21:16:54.048 W/Smack/Packet( 2186): notify conn break (IOEx), close connection
...
03-27 21:16:55.084 D/WifiStateTracker( 1637): Disabling interface
03-27 21:16:55.088 D/NetworkStateTracker( 1637): setDetailed state, old =CONNECTED and new state=FAILED

Since changing my router to use a two week DHCP lease, the phone has had a stable WiFi connection for an hour and a half, which is considerably longer than I have seen since I started monitoring this condition.

Assuming there are no further problems, I will accept this in a couple of days, indicating that the problem is indeed resolved.

(BTW, the log collector I used is "Log Collector" by Xtralogic Inc, and "WiFi Analyzer" is by farproc).

Update: 2012-03-29 AM: The root cause seems to be an inability to renew a DHCP lease - changing the lease time to 30 minutes caused the connection to drop precisely 30 minutes after connecting the phone to the router.

Update: 2012-03-29 PM: That there is a general problem renewing DHCP leases is born out by testing all day with a short lease time; every (or very nearly every) attempt at renewing the lease fails, and then disconnects and reconnects the WiFi service. Now knowing precisely what the problem is and what to search for, it may be that this is a long-standing problem with the Android WiFi service, present since 2.2 and still a problem even in 4.0.

share|improve this answer
    
Changing the lease time from forever to some set value fixed my issues as well.. Haven't browsed the source on this, but I speculate leases set to forever are passing a null value somewhere –  benbeel May 31 '12 at 12:50

I had issues like this with the android phones with my new Belkin Router, that I installed and set up yesterday. Although not with our samsung galaxy tabs :-) I tried your suggestion of setting the leasing to two weeks, this did not make any difference :-(

I resolved the issue by taking the channel settings off auto and wacked the channel up to 13. The problem has resolved.

I double checked and put the lease renewal back to forever, as the galaxy tabs have issues when the lease renews on any router.

The issue is still resolved. :-D

I hope that this helps :-D

share|improve this answer
    
Mine does not have channel 13; only goes up to 11. –  Lawrence Dol Mar 31 '12 at 2:57
    
I suspect this was caused by competing routers on the same channel. Are you in an area that has lots of WiFi signals, like an apartment complex? –  Lawrence Dol Mar 31 '12 at 19:54
    
Also, note that this is a bug in Gingerbread, hopefully long since fixed in newer Android versions. –  Lawrence Dol Oct 25 '13 at 19:16
    
I'm in a similar environment, and didn't really get any complaints from the person who owns our only gingerbread phone of this happening. I wonder if this is somehow specific to certain hardware combinations. –  Journeyman Geek Feb 3 at 0:35

protected by Community Feb 7 at 18:23

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.