Around the time that I upgraded to ICS over a year ago, I noticed that battery life took a nose-dive when connected to my home network. If I didn't charge the phone overnight, I could expect roughly 1% battery drain every 2 hours in standby, and that was with wifi/bt/gps turned on and wifi connected. But, after the ICS update, this quickly became more like 5% battery drain per hour. After recently replacing my battery and getting much better battery life, but still poor when connected to wifi, I decided that it was time to investigate this issue.
What Phones are Affected? Every Android device utilizing Android 2.3.5 or higher, when paired with certain routers, will exhibit this bug. Brand does not matter. A recent report indicated that HTC is so fed up with Google's lack of attention to this, that HTC themselves is developing a custom kernel to be pushed out to many of their devices running Android 4.2 and up in the future (they would not comment if 4.1 or older devices would get the fix).
Certain Routers? Which ones? There is no comprehensive list. I can confirm that, through my own testing and dealing with others who have the issue, these routers will cause high wifi drain on an Android device;
Why does this happen? This is not in my technical area of expertise. But, from what was explained to me is that these routers send a "nagging" signal to the devices to ensure that they are still connected. This signal causes wakelocks, keeping your phone's CPU ramped up while connected. These wakelocks prevent deep sleep and thus cause higher than normal battery drain.
How do I test to see if I am affected? Fully charge your battery, connect to wifi, and let the phone sit untouched for at least 4 hours (doing this while you sleep is easiest). When you check the phone, take note of remaining battery life, and then what apps are using the battery. If Android OS is on top with an absurd level of usage (IE, 30% or higher, when it should almost always be under 15%), you may be affected. At that point, you should download Betterbatterystats (free version on XDA for registered users). You're looking for a few things here that will confirm that your high Android OS usage is in fact caused by this issue. First, under kernel wakelocks, wlan_rx_wake will be your biggest wakelock contributor. Lastly, under "Other", you'll see awake/deep sleep split likely about 50/50, when it should be more like 90% deep sleep.
Ok, I'm affected, now what? Here's the tricky part. There is no known fixes for this. I'm toying with one that was pretty successful after one night (32% battery drain 2 nights ago without the fix, only 3% over 8.5 hours last night after applying it). However, I need to do some more testing of it to make sure there are no side effects. It's a router-side change. In the meantime, here's some things that I've noticed others doing to varying degrees of success;
-replacing the router with an unaffected one
-going into wifi advanced settings and changing sleep policy to "never" or "when plugged in." This raises overnite data usage on your mobile network, but will extend battery life in this situation.
-using Juice Defender (paid version) to manage wifi usage
I'm going to test my "fix" for at least two more nights. However, if you're affected, impatient, and don't mind possibly messing up your home wireless network, send me a PM and we'll try it on you.
What Phones are Affected? Every Android device utilizing Android 2.3.5 or higher, when paired with certain routers, will exhibit this bug. Brand does not matter. A recent report indicated that HTC is so fed up with Google's lack of attention to this, that HTC themselves is developing a custom kernel to be pushed out to many of their devices running Android 4.2 and up in the future (they would not comment if 4.1 or older devices would get the fix).
Certain Routers? Which ones? There is no comprehensive list. I can confirm that, through my own testing and dealing with others who have the issue, these routers will cause high wifi drain on an Android device;
- D-Link DIR-655
- Linksys E4200 v1 and v2
- Linksys E4500
Why does this happen? This is not in my technical area of expertise. But, from what was explained to me is that these routers send a "nagging" signal to the devices to ensure that they are still connected. This signal causes wakelocks, keeping your phone's CPU ramped up while connected. These wakelocks prevent deep sleep and thus cause higher than normal battery drain.
How do I test to see if I am affected? Fully charge your battery, connect to wifi, and let the phone sit untouched for at least 4 hours (doing this while you sleep is easiest). When you check the phone, take note of remaining battery life, and then what apps are using the battery. If Android OS is on top with an absurd level of usage (IE, 30% or higher, when it should almost always be under 15%), you may be affected. At that point, you should download Betterbatterystats (free version on XDA for registered users). You're looking for a few things here that will confirm that your high Android OS usage is in fact caused by this issue. First, under kernel wakelocks, wlan_rx_wake will be your biggest wakelock contributor. Lastly, under "Other", you'll see awake/deep sleep split likely about 50/50, when it should be more like 90% deep sleep.
Ok, I'm affected, now what? Here's the tricky part. There is no known fixes for this. I'm toying with one that was pretty successful after one night (32% battery drain 2 nights ago without the fix, only 3% over 8.5 hours last night after applying it). However, I need to do some more testing of it to make sure there are no side effects. It's a router-side change. In the meantime, here's some things that I've noticed others doing to varying degrees of success;
-replacing the router with an unaffected one
-going into wifi advanced settings and changing sleep policy to "never" or "when plugged in." This raises overnite data usage on your mobile network, but will extend battery life in this situation.
-using Juice Defender (paid version) to manage wifi usage
I'm going to test my "fix" for at least two more nights. However, if you're affected, impatient, and don't mind possibly messing up your home wireless network, send me a PM and we'll try it on you.