37

How can I change the way Macbooks roam on the WiFi network? I would like to speedup the roaming of Macs (and maybe other devices).

Is there a setting on the Airport base stations or in Mac OS to speedup AP switching for example?

Currently the network is built around 1 main Switch interconnecting 1 router and 4 Airport base stations using the same SSID:

  • 3 dual band Airport base stations
  • 1 Airport 2.4GHz base station

On the 5GHz band, there is no overlap as each base station uses its own channel.

On the 2.4GHz band there is a very slight overlap between 2 base stations which are at opposite sides and at different stories of the building.

5
  • What exactly is the problem you are experiencing? Is switching networks slow for you? Under which conditions are you switching networks?
    – Gerry
    Oct 10, 2012 at 11:59
  • @Gerry: When moving from one room to another I loose the connection just long enough for airplay to stop, file shares to stop responding, and Time Machine sometimes manages to keep on going but sometimes not. It will be a major issue for the users using the WiFi network.
    – Coyote
    Oct 10, 2012 at 12:02
  • Are you moving between access points with different names, or do the different access points all have the same names? Oct 10, 2012 at 13:31
  • @anthonyg I updated the question with more details. Yes they use the same SSID each is setup to different channels, on the 2.4GHz band there is no or negligible overlap.
    – Coyote
    Oct 10, 2012 at 14:16
  • Thanks for pinging this - 10.10 now roams automagically and I've updated my wrong answer.
    – bmike
    Apr 12, 2015 at 16:55

7 Answers 7

6

Apple has introduced roaming across it's ecosystem with iOS 8 and OS X 10.10. You don't need to do anything as it's turned on by default. So, you can just update your OS on the Airport basestations as well as install Yosemite to take advantage of the changes.

Prior Yosemite, I've not seen instructions on how to enable this so I believe it's part of the drivers that were updated for 10.10.

The software was designed to keep a fair connection alive as long as possible rather than hop around always looking for a better connection. Now that AirPlay and AirDrop and continuity exploit the MIMO antennas that are shipping across the Apple hardware ecosystem, we now get better roaming since the hardware is more capable.

3
  • 1
    Today I saw a MAC that would not roam from an access point that had an almost unusable -74db signal to a -38db signal, so by default it still does not work. You have to change the joinMode.
    – Brain2000
    Dec 11, 2019 at 19:32
  • @Brain2000 could you edit my question to show what router manufacturer required changing joinMode (or better adding it to the answer that explains joinMode preference?)
    – bmike
    Dec 12, 2019 at 0:38
  • I will admit it was a non-Apple router. I have found that Apple does work much better when 802.11k and 802.11w are enabled. And OpenWRT now has a plugin called "Dawn" which monitors strength between all access points and you can configure how it kicks devices around between them. Works great on most versions of iPhone, Android, MAC's, and PC's. Though there's the occasional driver that does not work.
    – Brain2000
    Mar 7 at 15:55
51

You can change the system preferences for JoinMode and JoinModeFallback to be the following:

    JoinMode (String)
        Automatic
        Preferred
        Ranked
        Recent
        Strongest
    JoinModeFallback (String)
        Prompt
        JoinOpen
        KeepLooking
        DoNothing

Do this using the airport command:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport

Run the command to see the options, up the top you'll see a section on how to sec preferences.

For instance:

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

Note, this preference isn’t permanent, so you may need to automate this or issue it for specific problem situations or network providers.

0
6

I faced a similar problem (slow roaming - or no roaming at all) even with OSX 10.10.x - I have 2 AP, one Technicolor and one Cisco-Linksys connected to the same switch and broadcasting the same SSDI on different radio channels. After some investigation I found a solution. You must be sure you have exactly the same authentication settings on the Wireless interface of the APs. In my case one AP was WPA/WPA2 and the other one was WPA2 only. When I enabled WPA/WPA2 also on the second one my Macbook Pro started roaming correctly.

2

I have the same problem but don't have an answer. However, I may have a path for further exploration. The airport utility on ML still has a legacy option to perform a WiFi network scan.

airport -s           # full scan
airport -s<SSID>     # scan only for SSID

The tool is under

/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport

and my suspicion is that triggering a scan also triggers a handover if another base station is better since the results are sorted by signal strength. Having said that one could write a tool which pings the default gw and triggers a scan on packet loss. If I have some time I will give it a shot.

1
  • 1
    If you get some good results with that keep me posted.
    – Coyote
    Jun 23, 2013 at 11:55
1

Try a same channel setup - configure all APs to the same channel. That way the device can pick up the signal strengths of the other APs without having to scan all channels. You will limit the maximum throughout though, depending on the number of clients

2
  • This sounds counter productive, all recommendations (CISCO, Apple, Alcatel...) are to setup all APs to avoid geographical overlap. But in areas where I have 2 to 4 devices per AP I will try your suggestion and see how this works out.
    – Coyote
    Dec 28, 2014 at 14:12
  • I know - that's why I always had configured different channels, but ended up with poor signal quality all the time when running around. I made a small iOS app displaying the MAC of the currently connected access point and noticed that wifi clients (at least the iphone) seem to like to stick to the current AP as long as possible. When I changed the setup to same-channel I noticed that the AP roaming is much more aggressive.
    – Moritz
    Feb 9, 2015 at 14:44
1

After trying to set both AP's with the same security settings and trying the JoinMode command, it was actually Moritz's suggestion that did the trick.

Setting all AP's with the same channel would seem counter-productive at first, as everywhere on the net you find that you must always set APs on the least occupied channel. But it seems to me that it's the best configuration for various APs with the same SSID. My Macbook now correctly chooses the Wi-Fi with the strongest signal.

So I suggest setting all Wi-Fi's with the same settings: this means same security settings, same channel, practically everything. This is what worked for me.

1
  • This is bad advice if you have multiple people, though, because they will all fight for airspace on the same channel. The whole point of roaming is that, if I get up from my desk and go to a conference room, it should cut over to the access point closer to the conference room. And the whole point of multiple channels is that more people can be in the same area without fighting for the connection.
    – Jon Watte
    Jan 10, 2020 at 0:28
1

I face this issue in small businesses that with OS X. I have yet to find a good solution other than disconnect and reconnect to grab the closer AP.

1
  • In my setup the IP is assigned by the same DHCP server for all APs. All devices are on the same network with the same IP range.
    – Coyote
    Apr 25, 2014 at 21:40

You must log in to answer this question.

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