I have set up two GL-AR300M (Mango) routers to create a unified Wi-Fi network with Fast Roaming, but my client devices (Android smartphones) refuse to roam between the two access points. Even when moving right next to the second unit, the device remains connected to the first AP until the signal drops completely or reconnects to the same AP.
Here is a summary of the configuration and troubleshooting performed:
Hardware & Topology:
2x GL-AR300M (Mango) routers set up in Access Point (AP) mode.
Connected via Ethernet to the main router/switch.
Placed approximately 15 meters apart.
Software & Package Setup:
Installed luci and wpad-openssl via SSH on both units to enable full 802.11r support (opkg update && opkg install luci wpad-openssl).
Wireless & 802.11r Configuration:
SSID: Identical on both units (tp1).
Security/Encryption:WPA2-PSK with the exact same passphrase on both units.
Channels: Configured on two different non-overlapping channels to avoid interference.
802.11r Fast Transition: Enabled on both units (FT over the Air).
Mobility Domain: Set to 1234 (identical on both devices).
PMK: "Generate PMK locally" enabled on both units.
The Problem: When conducting walking tests with an Android phone (using Network Analyzer apps), the device holds onto the initial Mango AP even when standing directly next to the second Mango. If Wi-Fi is toggled off and on, it still re-associates with the weaker/initial AP instead of switching seamlessly.
Has anyone encountered this behavior with the GL-AR300M under OpenWrt? Is this a known limitation with client-side roaming decisions on specific Android devices, or is there an additional setting required (such as threshold tuning/FT-PSK parameter adjustments) to force sticky clients to transition properly?
It may be helpful to clarify how 802.11r works in this setup. It is mainly intended to make the transition between APs faster once the client decides to roam, while the decision of when to move to another AP is generally still made by the client device itself.
For your setup, there are two approaches you can try to improve the roaming behavior.
The simpler approach is to adjust the Wi-Fi transmit power on the two APs . If the coverage areas overlap too much, some clients may continue to stay connected to the original AP even when another AP has a stronger signal nearby. Reducing the transmit power appropriately can help create a clearer roaming boundary between the two APs. Understanding Wi-Fi Coverage, Access Points, and Transmit Power - GL.iNet Router Docs 4
If you would like more active AP-assisted roaming, another option is to configure 802.11k/802.11v together with usteer . 802.11k/v can provide neighboring AP information and roaming suggestions to compatible clients, while usteer can further assist with client steering based on signal conditions.
OpenWrt provides a guide for this configuration here: Testing to determine if you are a bot!
The two Mango units are set up side-by-side as access points; I wanted to use OpenWrt with 802.11r to share the connections.
For instance, if 40 people connect, I’d like the load to be distributed between the two Mango units rather than having everyone on just one, if possible.
In this case, what you are looking for is closer to client/load balancing between the two APs, you may consider configuring 802.11k/802.11v together with usteer on both APs.
usteer can exchange client information between the APs and use policies such as client-count differences, signal conditions, and channel load to help steer clients toward the more suitable AP.
This may help improve how clients are distributed between the two APs, although the actual result can vary depending on the behavior of the connected devices.
Thanks for the documentation. My company's goal is to use "open" mode without a password, but this configuration presents a real problem. Are there specific settings required for OPEN mode, or is no configuration needed at all?
Thanks for the clarification.
An open SSID without a password can also be used with 802.11k/802.11v and usteer; there is no password-specific configuration required for usteer.
For the wireless interface, you can keep the SSID in Open mode (encryption 'none') and enable 802.11k/v as described in the OpenWrt guide.
Okay, thanks a lot, I was able to configure the Mangos in "Open" mode using the wireless and Usteer settings.
I’d like to know if there is any software—either on the physical PC or a VM—that can simulate multiple Wi-Fi connections, so I don't have to use 20 mobile phones.
I want to verify that the two Mangos are correctly sharing users with my current configuration.
We are not very familiar with this type of Wi-Fi client simulation, so we are not sure whether there is a simple PC/VM software solution that can accurately simulate multiple independent Wi-Fi client connections for this scenario.
As a simpler check, you can connect several available Wi-Fi devices to the two APs and then check the usteer status on each router.
Please SSH into each AP and run the following commands:
remote_hosts can help confirm whether the two usteer nodes have discovered each other, while get_clients can show the client information currently seen by usteer.
You can then connect or disconnect a few devices and compare the output on both APs to see whether the client distribution changes as expected.