Good question, one I was also asking myself when I set up a large Mikrotik CAPsMAN network. A moving laptop would hang onto a -85 signal when a -70 was available.  It did not make sense.  So, after some research I found some ideas to help you.

When you are walking between access points (assuming they have the same wireless SSID name and same security), you may find that your wireless client, that is your laptop like a mobile phone is still sticking to the distant device and will not roam to the nearest device.

How roaming works:

Roaming is purely a client decision. The wireless client is responsible for deciding it needs to roam, and then detecting, evaluating, and roaming to an alternative AP. WLAN standards bodies (such as IEEE) and industry bodies (such as Wi-Fi Alliance) do not specify when a client should roam, or how the client roams.

So, roaming or not roaming, it is totally decided by your wireless client’s roaming algorithm. Different wireless client vendors’ roaming algorithms are also different and are not generally published.

Resolution:

There is no role played by AP in this client roaming process. So, your best option is to configure your wireless client to achieve fast roaming for you.  Some NIC vendors give some mechanism to control this roaming behavior, specifically Intel.

PC Users

In Intel, it is known as roaming aggressiveness and this setting allows you to define how aggressively your Wi-Fi client roams to improve wireless connection.

Here are the configuration methods on Intel WNIC:

You can go to control panel -> network and internet -> network connection and choose the wireless connection. Right click the wireless connection and choose properties. Click configure and choose Advanced and choose roaming aggressiveness.  Typically there are 5 options. Here are the explanations of these five options:

Lowest: Your wireless client will not roam. Only significant link quality degradation causes it to roam to another access point.

  • Medium-Low/Medium-High: Allow Roaming.
  • Medium: Balanced setting between not roaming and performance.
  • Highest: Your Wi-Fi client continuously tracks the link quality. If any degradation occurs, it tries to find and roam to a better access point.

Mac Users

It is still possible on the Mac, just not as elegant.  Open a terminal window and type the following command all on one line then Enter.  You will need the administrator password of course since this has to run as the root user:

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

This should get your device to drop a weak AP when a stronger signal is available. This will work with any AP setup, Ubiquiti, MikroTik, etc.  Happy roaming!