How to get OSX to pick the strongest wifi signal with identical SSIDs?

I have a Netgear wireless router in one room, and a TP-Link powerline adaptor with wifi in another room. I'm using a 2014 MacBook Pro with Yosemite 10.10.1

Previously I had separate SSIDs for each of the wireless access points, which meant that I needed to manually change the wifi network when moving around the house.

The advice at How can I get the same SSID for multiple access points? is to set the same SSID on both wifi APs, and the laptop should automatically pick the one with the strongest signal:

Give both APs the same SSID, security type and wireless security passphrase... A client will scan all channels looking for APs publishing the SSID it wants, and will pick whichever one suits its needs best (usually that means whichever one shows the highest signal strength).

So I set identical SSID, security and password on both wifi APs. Unfortunately, OSX Mavericks isn't automatically switching between the networks when moving around the house.

While located near the TP-Link powerline adaptor, I connect to the network, as shown by the bolded first line in the Wifi Explorer window (this is the expected behaviour as that is the strongest network):

enter image description here

But when moving closer to the Netgear wifi router, Yosemite doesn't disconnect from the TP-Link access point and connect to the Netgear access point (even though that network is much stronger):

enter image description here

(I left the laptop on overnight and it hadn't changed after 12 hours, so it's not related to timing)

  • Is there anything I need to do in Mavericks to select the strongest network automatically?
  • Do I need to ensure that all properties are identical between the access points? eg Channel, Width and Mode are different - does that matter?

Edit: as per an answer at https://apple.stackexchange.com/a/144832/84752 I changed:

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport prefs joinMode=Strongest

but this has no effect when moving between rooms. I'm not sure whether that suggestion only applies to Airport products (given the name of the command).


Solution 1:

I know this thread is old, but I'd like to leave here what solved the problem for me. You need to check if you have the same security in both access points. For example, I had one access point secured with WPA/WPA2 and another with WPA2 only. After changing both to the same, everything was fine.

To check your access points' security, you can do this:

  • While holding the option (alt) key, click the WiFi icon in the menu bar
  • Click "Open Wireless Diagnostics…"
  • Go to "Window" > "Scan" (or press CMD-4)
  • Check if the security is the same for both your access points

Solution source: http://forums.macrumors.com/threads/wifi-roaming-issues-two-aps-with-same-ssid.1208584/

Solution 2:

Your issue is being caused by OS X's handling of a wi-fi parameter commonly referred to as roaming threshold. This parameter dictates the point at which an OS will switch to a stronger signal. Windows gives easy access to this parameter, example here, but no simple option exists in OS X.

This document from NYU suggests OS X has "aggressive" roaming characteristics and shows the command line to disable aggressive roaming. However, our experience on campus with OS X clients shows OS X to be anything but aggressive, insead preferring to "stick" to an AP it has associated with in spite of being in range of closer/stronger signals - like your situation.

So, there you go, there's not a lot you can do to alter OS X's roaming behaviour. What you can do though is alter your wireless environment in an attempt to force OS X to switch between APs. Options that you may have, depending on your wi-fi hardware, include setting your APs to strict 5GHz-only mode (if they are dual-band devices) - this will reduce the transmission range and therefore reduce overlap between APs. You may also have a setting on your APs for wireless transmission signal strength - this is another method for reducing overlap between APs, potentially forcing OS X to switch to a stronger signal sooner. Finally, you could try moving your APs to the extremities of your house, again to reduce their overlap.

Solution 3:

I've been trying to figure out the pattern here as well. I found this doc by Apple to be very helpful: https://support.apple.com/en-us/HT206207

It explains pretty plainly:

macOS clients monitor and maintain the current BSSID’s connection until the RSSI crosses the -75 dBm threshold. After RSSI crosses that threshold, macOS scans for roam candidate BSSIDs for the current ESSID.

And regarding selection criteria:

macOS always defaults to the 5 GHz band over the 2.4 GHz band. This happens as long as the RSSI for a 5 GHz network is -68 dBm or better.

If multiple 5 GHz SSIDs meet this level, macOS chooses a network based on these criteria:

  • 802.11ax is preferred over 802.11ac.
  • 802.11ac is preferred over 802.11n or 802.11a.
  • 802.11n is preferred over 802.11a.
  • 80 MHz channel width is preferred over 40 MHz or 20 MHz.
  • 40 MHz channel width is preferred over 20 MHz.

In my case, it turned out to be because one WAP only supported 802.11ac, even though all other settings were the same as the WAP supporting 802.11ax.

Solution 4:

fixed it by making the security identical