My iPhone refuses to switch over from WiFi to 3G when the WiFi signal gets too weak to be usable. It will sit there indefinitely, unable to load a web page because I'm too far from the router, and not switch to the strong 3G signal that is available. Has anyone else had this problem? Is there anything I can do about it? Would it be better if I bought an Apple router? Do Android phones do this? I already submitted a bug report to Apple. It seems like such a simple thing to switch to 3G when WiFi stops working.

I know how to switch manually, but that's not a good solution. I think it's an iOS bug. I don't think it's the router's fault either, because the phone should be the one to determine when to switch to 3G. It should happen when WiFi fails to respond for a certain amount of time. I have a high-end Linksys router and an iPhone 4S. Router works great with all other devices and iPhone works well besides this one problem. This only happens when I'm outside my house and the router signal is no longer strong enough for data to get through. Once I go far enough down the street the signal switches to 3G, but there's about 30 yards where it hangs onto WiFi even though it can't get anything through.

  • Thank you all so much . I've been tearing my hair out all day thinking that EE network coverage was really bad, just moved from Orange with new phone - iphone 5S. I switched airplane mode on for 10 sec then off as suggested by Camille and hey presto 3G!! I've also switched iohone messaging off and MMS on as suggested by John. Let's hope it's fixed it.
    – user86396
    Commented Jul 30, 2014 at 20:23

6 Answers 6


The expected behavior is probably for the phone to stay on WiFi as long as it can connect, and then switch to 3G; as of iOS 5, I don't think the capability is there to automatically notice a dead WiFi connection and switch to 3G. So what you're seeing is perhaps a lack of functionality, but it's not strictly speaking a bug.

I can't really see Apple making that the default functionality, though. They'd get a lot of flak for making the iPhone too smart; nerds would complain that they don't have control. If it was done, it would probably be an option.

It also would be very difficult to do well automatically. How does iOS know a connection is bad? What exactly does "when WiFi stops working" mean?

  • Lack of public internet access? Windows 7 (and maybe Vista) does this by requesting a text file from Microsoft's website with predetermined content; that's how it knows if your connection has internet access or not. But what if you're on a network at work that only offers access to intranet sites, and not the public internet?
  • Lack of data transfer despite network requests going out? What if you're repeatedly trying a site that's experiencing a lot of traffic? How many repeated failed requests mean a bad connection?
  • Long response times for outgoing requests? How long is too long? It could be averaged over time, but where's the threshold?

It could probably be done, but it would be difficult to do well, and the gain in widespread user satisfaction probably isn't that huge in comparison to other things.

  • 1
    Thanks for the thoughtful answer. The iphone knows it's not getting anything because it will display a message saying "cannot connect to internet" after about 15 seconds. I think that's way too long when there's a healthy 3G signal right there. And even after it posts that message it still doesn't automatically switch to 3G. I can see how you would consider it a missing feature, but it seems uncharacteristic for Apple to not provide such basic functionality.
    – James
    Commented Feb 2, 2012 at 1:57
  • Mr.Jefferson made a good point about this being difficult to do well. Especially as not all users are on unlimited data contracts and care a lot about being in control of the 3G usage. Think also about the restrictions of using 3G vs. wifi (i.e. app downloads etc.)
    – Turismo
    Commented Feb 2, 2012 at 6:18

I had the same problem, and I contacted a technician from my Service Provider since Apple wouldn't want to help me because the warranty on my phone had expired. The technician guided me through these few options. If the 1st one doesn't work go to the 2nd and so on. I had to go all the way to number 4 before it worked.

  1. Make sure your 3G network is ON.

    Go to SettingsGeneralCellularEnable 3G: ON.

  2. If #1 is OK, try switching ON the "Airplane Mode" for about 10 seconds and then turn it back OFF.

    Go to SettingsAirplane Mode: ON, wait 10 seconds and turn OFF.

  3. If #2 doesn't work, reset the network settings.

    Go to SettingsGeneralResetReset Network Settings.

  4. If #3 doesn't work, back up your iPhone using iTunes or iCloud and reset your phone to the factory setting:

    • Back up using iTunes: Plug your phone to your computer and open iTunes. Click on the "File" icon on the upper left corner go to "Devices" and select the Back Up option.

    • Back up using iCloud: Go to SettingsiCloudStorage and BackupManage storage → Delete the backups that appear there by tapping them and selecting Delete Backup.

      Once you have deleted the old backup, go to SettingsiCloudStorage and Backup → Make sure iCloud Backup is turned ON then tap Back Up Now.

    Once your iPhone is backed up, you can reset your phone to factory settings.

    • Reset using iTunes: Plug your phone to your computer and open iTunes. Click on iPhone in the upper-right corner. It will open your iPhone information. Click on Restore iPhone and follow the instructions.

      Once your phone is reset, go to File button in the upper left corner and go on Devices and click on Restore from Backup. Your phone will then restore from the last iTunes backup.

    • Reset using iCloud: Go to SettingsResetErase all Content and Settings. When your iPhone restarts, tap Restore from iCloud Backup. Connect your device to WiFi and enter your Apple ID and password.

If these steps don't work for you, contact your service provider as you might be in a 'dead zone' for 3G. They will ask you for your Zip Code or Postal Code and verify what's going on. They might even give you another option that they didn't need to give me since the #4 worked for me.


It does not know if Wifi "works" or not. Simply the signal strength. Just manually turn off wifi when the signal becomes unacceptable.


It's a bug, plain and simple. The phone should route your traffic thru the best connection. It does this well when you are in 3G and it finds wifi then gives you that better route. It just has a lousy algorithm to switch back to 3G or LTE. In some cases LTE is better than wireless so apple has some work to do here.


Try switching iphone messaging off in Settings Messages but leave MMS Messaging on - then the phone will thinks its a phone and not a computer. It worked for me.


It worked for me just switching off and on airplane mode and then turning cellular data off and on. Thank you!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .