I have two Wi-Fi networks in my house, one at one end of the house and one at the other. While signals crossing from one side of the house are usually audible on the other side, they are generally fairly weak and quite nearly unusable - something in the house's construction attenuates signals traveling through certain walls. So, to enable good connectivity while roaming the house, I have to have my Wi-Fi clients configured for both networks.

This works fine on PCs where I can configure both networks and set a priority order, so that the system prefers the network closest to its normal location and should only roam when its usual network gets too weak. However, I cannot find a way to set this priority in iOS. This results in some devices occasionally connecting to the farther AP, despite being in their regular spot where they should prefer the closer one.

How can I customize the roaming preferences for Wi-Fi networks on the iOS devices? I at least want to assign a "preferred" network for each, but would also like to know if there's a way to set a "roaming threshold" - a point at which the device should choose to change APs, versus remaining on the current one.

14 Answers
14

I'm pretty sure this is not possible to do on vanilla iOS, perhaps with a jailbreak.

However, your solution of running two separate WiFi networks is generally not what you want. It is much more common to extend one WiFi network (i.e. a single SSID) with multiple routers. Devices should then automatically switch to the access point with the stronger signal.

You can check this question which describes how to setup two APs for the same network (i.e. a single SSID).

I tried this, but it was a disappoimtment. It amounts to degrading your less desired network to "don't autoconnect" whereas the behavior I am interested in is to always reconnect to the most preferred network as soon as it's available.
– tripleeeSep 28 '13 at 17:08

Setting an order of priority for the networks will not help you because the devise will only "switch" networks when the other network becomes completely unavailable and it has to reconnect. There is nothing that will indicate that if the signal drops to a certain threshold, search for a more powerful network. I have a similar situation but slightly different.

I have a portable Wi-Fi in my car that has a pretty good range. I have an in-home network whose signal was not strong enough to cover the entire house so I installed a network booster. It creates a different network segment with a different name (the one I have puts "AMPED" in front of the orriginal network name). So sitting in my home, my device can see 3 networks (the mobile network in my car, the regular home wi-fi, and the "AMPED" home wi-fi). The AMPED signal is almost always the strongest, which is what I would expect.

When I get into the car with my iPhone and iPad and leave the vicinity of my house, both devices automatically loose their connection to the home network and switch to the mobile network. When I get home in the evening and walk into the house though, neither device will automatically switch from the mobile Wi-Fi to the home network, because the mobile device remains available.

I either have to: 1) Remember to turn off the mobile network when I get home. If I do that, the devices pick the "strongest" network signal they have available to them (not from a priority based list). 2) Switch the network connection manually.

Unfortunately, at least the current iOS gives us surprisingly (because how much the phone depends on internet) little control over which wifi it connects to. It isn't possible to set priority lists, but what I have done for a somewhat similar situation is Forget wifi's (Wifi > Tap the arrow next to the wifi to forget > Forget this network). This is not a streamlined solution and really wouldn't work if you had solid passwords on both of your routers because re-entering the passwords would be impractical. This is mainly an option that you are likely aware of, although, for you, I'm sure it wouldn't be practical at all.

I would recommend looking into strengthening a single wifi network. We have used signal boosters that help the signal. Also, just a thought, but I've been really impressed with the signal strength of the Apple Airport. It seems to be really strong.

Unfortunately, due to my house's design, a single AP just won't do the job. A single Wi-Fi network, spread across multiple APs as @houbysoft suggests, might work though. Still, this also leaves the iOS device weak in handling a situation where multiple "friendly" networks are audible (i.e.: neighbor's house two doors down).
– IsziJun 14 '12 at 14:41

@houbysoft had a great idea. It is true what you said about multiple networks. It was a neighbor's (relative) network that my phone kept connecting to that I forced it to forget.
– bassplayer7Jun 14 '12 at 15:13

Yeah, that's definitely not an option for my home networks though. The PSK is just too complex for me to want to set up more than once per device.
– IsziJun 14 '12 at 15:21

That's the way to do it (strong password). I've heard of way too many neighbors (sometimes unknowingly) using their neighbor's wifi. ;-) Hopefully that will be another un-announced feature in iOS 6. Probably not though.
– bassplayer7Jun 14 '12 at 15:24

If both networks are in range, you don't have to forget the one you don't want; just select the one you want (so it gets the check mark).
– tripleeeSep 24 '13 at 17:25

Your phone would require to be jailbroken to get "Vestigo", a tweak available through Cydia. It does 90% of what you're asking for. I say 90% because you'll need to have a Cydia app called "wifitoggle" (at least I think it was called like that) and yet another app called "Activator." Activator is simply an app that allows you to set custom gestures, i.e. two-finger swipe up, or double tap status bar.

I was in the same boat as you, having my phone as a hotspot for my iPad while on the go, and when I get to either work or home I wanted my ipad to switch over to my house network.

This for me, is the correct answer. I don't see the advantage of giving the access points different names and then choosing manually. If you give them the exact same name/security system and password the roaming will be seamless.
– NickGJan 8 '16 at 14:50

Creating a single SSID across your two WiFi Routers by no means guarantees that devices will automatically switch to the stronger router. I went to all the trouble of configuring this only to find that a lot of devices hang on for dear life to the router to which they first connected.

With a single SSID you can't manually switch to the stronger signal other than by switching off WiFi on the device and then switching it on again. Even then, some devices refuse to relinquish the connection to the weaker router and you have to go through a power cycle.

In the end, I have reverted to two different SSIDs and at least then I can manually force a switch to the stronger one if I know I'm going to be on the back-of-the-house/garden network for some time.

I did read somewhere that iPhone's have a "feature" where is gives preference to a) the last connected wifi b) alphabetical ordering of the SSID.

I tried adding the letter "a" to the name of the AP I wanted to give preference to, and this seemed to work. The the problem I have now is that it stays connected to this connection too long when the signal is too low and my other AP is in range.

Apple documents the order in which a network will be joined in instances where the iOS device is rebooted and not unlocked as well as when the device is running normally at https://support.apple.com/en-us/HT202831

In specific, to quote the article:

iOS will try to connect to networks in this order:

The private network it most recently joined

A private network

A hotspot network

If iOS finds more than one network, it evaluates SSIDs by security
level and chooses one based on the following order:

Private network: EAP

Private network: WPA

Private network: WEP

Private network: Unsecure/open

Hotspot network: HS2.0/Passpoint

Hotspot network: EAP

Hotspot network: WPA

Hotspot network: WEP

Hotspot network: Unsecure/open

If iOS finds multiple networks of identical type and security level,
it chooses the SSID with the strongest RSSI.

Once you know this, you can sometimes choose the settings on your preferred network or refrain from auto-joining some SSID that you know will cause your device to choose a less preferred (to you) network than the system is designed above. As a last resort - being physically closer to your preferred network would raise the RSSI - signal strength in case your device is set up for that to be the tie breaker when it has to choose between two otherwise "equal" networks.

--

A lot of comments and answers are also about roaming - so if that's your concern, check out the 802.11r FT / Adaptive 802.11r / 802.11k and 802.11v enhancements for roaming in this white paper by Cisco that is designed to take advantage of all of Apple's roaming implementations.

Roaming is for when you have more than one base station broadcasting the same SSID and you will need to properly place the transmitters so there is overlap between the handful (ideally) of radios and adequate coverage that the device can talk to both base stations when in the middle to make an orderly transition.

The biggest annoyance with running 2 wifi networks with the same SSID is that a device will connect to the stronger signal, which is not always the "best" or fastest signal. I find this to be the case with 2.4ghz and 5ghz, where devices prefer the slower 2.4ghz band even when through-put is significantly better on the 5ghz channel.

What version of iOS and what base stations? I find that iOS 9 will choose better than in the past for many base stations that have more advanced software that support 802.11r FT or Adaptive / 802.11k / 802.11v - see cisco.com/c/dam/en/us/td/docs/wireless/controller/technotes/8-3/… for the Apple iOS levels that can work with these optimizations.
– bmike♦Nov 30 '16 at 14:37

All you need to do is touch the arrow to the right of the network you don't want to automatically connect to and touch "Forget This Network". It won't remove the network from your wifi list, it will just stop automatically connecting to it.

This doesn't solve my problem. I want the device to still be able to automatically connect to all the networks on my list, but I also want it to prioritize them according to the order I prefer.
– IsziAug 6 '13 at 21:49

first of all having 2 wifi switches or router on each end of the house? This create an signal overlap, to change this you have to put both switches/routers on the middle of the house but, create an aluminum shim barrier on the wall between both units, this will reflect or rebound the signal of the router to each side on the house, maybe the overlap gap will be small enough so you will not notice the interaction of the signal mixing. Once you pass the division of the house the blocked signal of the half you're leaving will be a small signature, then the device will connect to the new stronger signal of the other half of the house.

I think I get what you're trying to say, but I don't think it's quite clear as it is written now. The routers are configured to operate on separate, non-overlapping channels. So there is no interference between the two. This post still does not address the actual question of how I can set a priority choice.
– IsziMay 22 '14 at 17:46

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.