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.

The connection to my work wifi just failed and below the network my phone is saying "Avoided poor Internet connection". What does this mean exactly? Has the phone detected that it can't get out to the wider Internet or did the network fail to allocate an IP address or something else?

Not sure if it matters but this is on a Galaxy Nexus.

share|improve this question
1  
Are you using ics? –  Richard Borcsik May 20 '12 at 14:16
    
@richardborcsik No I'm not using ICS, its just the phone connecting over wifi on its own. –  Luke Quinane May 20 '12 at 22:49
    
@LukeQuinane ICS means Ice Cream Sandwich, which in turn means Android 4.0 or greater. Since your device is a Galaxy Nexus, you in fact are using ICS :) –  onik May 21 '12 at 12:17
1  
@onik I think he understood it as Internet Connection Sharing. –  Richard Borcsik May 22 '12 at 6:52
    
@RichardBorcsik Yeah, I got that, thought that I'd clarify what was meant by ICS in this context. –  onik May 22 '12 at 7:38

6 Answers 6

up vote 9 down vote accepted

Poor connection may mean that:

  • there is either a weak signal from your wifi partner device.
  • there is much noise from other systems using the same frequency.

Both mean that many data-packets are lost and have to be retransmitted so your overall throughput goes down.

You can compare this with:

  • somebody is speaking not loud enough
  • many people are speaking at the same time and it is difficult to understand one person in that noise

If you have interference problems it might help to change the wifi channel/frequency

share|improve this answer
1  
Or your device couldn't get a valid IP address and had to fall back to a link-local address, or the connection from the access point to the internet has a high jitter and/or packet loss percentage –  onik May 21 '12 at 12:20
    
TO confirm @onik's comment, I've been seeing "Avoided poor Internet connection" quite a lot in the last week on hotel wifi, before that message appears, if I open the Wifi section of Settings I can see the connection cycle through "Connecting" and "Obtaining IP Address" for a few minutes before the system gives up and says that it has avoided the poor connection. In this case most likely either an over-loaded wifi AP or DHCP server that has run out of addresses, or a flaky connection that keeps dropping while the phone is connecting to the AP. –  GAThrawn Oct 24 '12 at 16:42
    
I'm seeing the same device behavior as GAThrawn, but I also have access to packet traces run against the DHCP server that clearly show that (a) the DHCP server is doing exactly the right thing in response to requests from the Android device and (b) after the DHCP server sends its DHCP ACK, the Android device and the local gateway successfully exchange ARP packets. The wifi connection is quite solid, and there are only two other devices on the network. –  flabdablet Apr 26 '13 at 6:37

While @k3b is right in what a poor Internet connection means that's not what's causing the error message to appear. If you actually have connection issues you don't get an error message (pretty counter-intuitive)
It appears that since upgrading to ics people have a problem with this.

Theoretically there should be a setting to switch this off under:

Settings -> Wi-Fi -> Advanced -> Avoid poor Internet connection 

I said theoretically because I don't have it. See if you do and if it solves the problem. If you don't or it doesn't, read on.

There's a root only application on xda-developers that's supposed to solve this. If you don't have or don't want to root, you have to wait for Google to fix this.

share|improve this answer
    
Annoyingly, I can see the option in settings, but it's unchecked (and I still get the error). –  Joe Freeman Sep 28 at 17:31

This problem has been plaguing me ever since I upgraded my Sony Ericcson Experia Pro ("iyokan") from Cyanogenmod 7.2 (Android 2.3.7) to 9.0 (Android 4.0.3) -- until today when I did some more detailed investigation.

It's pretty clearly a defect related to the DHCP client. When it manifests, the device fails to obtain an IP address from any access point, even those with which it had previously had no trouble. Switching to a static IP address works around the problem.

a few minutes ago, I found that deleting the contents of /data/misc/dhcp and then resetting the device cleared the problem. I'm sure it will happen again, but when it does, I'll know what to do about it.

I hope this information helps someone and perhaps leads to a fix. I can't report it is an official bug because I'm using a nightly build (cm-9-20120819-NIGHTLY-iyokan)

share|improve this answer

I too had this problem on CM9. And the problem was so bad that I could barely connect to my WiFi. So I decided to fix it myself. I wrote an App which now easily solves this problem. You can get it from Google Play.

Now a bit of explanation:

The problem: As you might know, when your device says "Poor connection" the connection is not really poor, it's all about Android messing it up. This can be solved by clearing the contents where Android stores DHCP information, for some reason that data is causing the problem. This information is nothing but lease and pid stuff. As the lease is not human-readable (at lease I don't get it!) I can't tell what exactly wrong that's going on there. But clearing that helps.

The solution: The solution that I built simply automates turning WiFi Off, clearing DCHP information, and then turning WiFi back On. Simple yet perfect solution! :)

share|improve this answer
1  
Can you give us some idea of what your app does to fix this please. I'm just curious if there's some way a non-root user could do this through reconnecting/disconnecting etc even if its more painful? –  GAThrawn Oct 24 '12 at 16:44
    
@GAThrawn: Yes, the app clears the contents where Android stores it's DHCP information. For some reason that data is causing all of the problem. As you might know, when it says "Poor connection" the connection is not really poor, it's all about Android messing it up. Now about non-root devices, I fear this solution won't work as to access that DHCP data you need super user permissions. (And that's why the app needs root access.) –  Suraj Bajaj Oct 24 '12 at 17:04
    
Interesting. What kind of DHCP information are we talking about here? Leases? Or the configuration? How did you know how to fix it? Where can I find additional information? Is you app open source? If so, where can I review the source? –  Flow Oct 24 '12 at 19:14
    
Too many questions.. Haha! Yes, it's lease and pid. As the lease is not human-readable (at lease I don't get it!) I can't tell what exactly wrong that's going on there. But clearing that helps. :) I was Googling around for fixing this problem, somewhere (unfortunately, I don't remember where) I read that it's the problem with DHCP info. So gave try to clearing it manually, and it worked! My app only automates turning WiFi Off, clearing DCHP lease and pid, and then turning WiFi back On. Simple yet perfect solution! ;) –  Suraj Bajaj Oct 25 '12 at 6:46

This also occurs if the device is unable to contact the DHCP server.

share|improve this answer

When I had this issue, I edited the gateway of the WiFi network in advanced WiFi settings to be the same as the proxy address. This solved the issue for me.

share|improve this answer
2  
Could you please explain How to do this? The question does not say anything about a proxy being used. What settings should that be, and where to find them? –  Izzy Dec 21 '12 at 6:37

protected by Community Dec 21 '12 at 6:21

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.