WiFi Signal drops out every 3 minutes 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&amp;T were super helpful: "Sorry, we can't help you with WiFi problems. You could try doing a factory reset on your phone". &lt;/sarcasm&gt;

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)
It looks like I may have found the problem.  The latest update from AT&amp;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 ==&gt; 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.