Fast Roaming 802.11r - Multiple SSIDs = different mobility domains?

Hey guys,

i got two APs with each 3 SSIDs on it ... now i want to implement 802.11r roaming but im not sure if both APs get one mobility domain or each SSID on both APs get the same SSID ?!

Someone here with the same ?

Regards
Snot

With 18.06.x or newer, option ieee80211r '1' is the only setting you need to configure for enabling IEEE 802.11r, it will sort out the other settings on its own (unless you want to change them). Yes, all participating APs need to sahre the same SSID and mobile domain for roaming to work (but this is handled behind your back, unless you choose to configure it manually).

1 Like

Yeah i understand .... but now i got two APs with three SSIDs on both of them ... does every SSID need its own mobility domain or are all SSIDs on both APs need to configured in three different mobility domains ?

OK with default 802.11r settings in OpenWRT the handover works fine but only in wlan0 witch is bridged to br-lan with is connected to vlan1. All other wifis with wlan0-1 (VLAN 2) or wlan0-2 (VLAN3) wont do this with default settings ... ideas ?

Ok i checked it two days now and 802.11r isnt possible on multi SSID APs ... its simply missing until now so there needs to be mor edevelopment.

I have question in this topic. I have 2 routers one SSID for 2,4GHz and other SSID for 5GHz. Will this work (roaming - between 2,4 or 5Ghz of course) if I just enable " option ieee80211r '1' " ?

It's designed to allow roaming between APs for the same network, so it should allow you to roam from one device to the other on the same frequency.

The one caveat above is you'll want both devices to be APs for the same network (i.e with the same DHCP server and so on).

Has anything changed since the beginning of 2019?

I have 5 APs (18.06.5) with 4 SSID each. One of the AP has 2.4GHz and 5GHz.

SSID1 - Net1
SSID2 - Net2
SSID1 and SSID4– Net3

Can I use "802.11r Fast Transition" at least on SSID1?

I'm curious about this as well.

In order for fast roaming to work, you need:

  1. Identical SSIDs on all APs you want to roam from/to
  2. The same mobility domain on all these SSID. Note, that the mobility domain is generated automatically by hashing the SSID. Hence if you follow step 1), you will automatically satisfy this step as well if you don't configure the mobility domain. Even though it is not needed as explained, you CAN pick your own mobility domain. In that case make sure you pick the same one for all the SSIDs you want to roam from/to.
  3. They all need to be in the SAME layer 2 network and they need to use the same (and one) DHCP server and subnet.

Configuring roaming between SSIDs on the same AP and roaming between SSIDs on two different APs is therefor identical, as long as the backend is all bridged together as it should for roaming to work in the first place.

9 Likes

Hey, I am facing the same issue I have 3 different SSIDS across all my APs and fast roaming works only on one of them. For other ssids I can see in the logs that FT authnetication is done but as soon as it roams from AP1 to AP2 back to AP1 it disconnects. Could anyone help me with this please?

Have 2 openwrt routers and now want to add Bananapi R3 with ArchLinux where mobility_domain default value is calculated via "mobility_domain=$(echo $ssid | md5sum | cut -c1-4)".
The resulting code is different from default value on 2 openwrt routers.
Anyone knows the correct calculation which openwrt uses for default value?
Would like to modify default calculation on ArchLinux is possible.

Here $(echo "$ssid" | md5sum | head -c 4)

How is the value different?
One possible reason is bigendian/littleendian byte order difference meaning 1234 vs. 3412. (Is it seen as a string or hexadecimal number where byte order depends on CPU?)

You might manually set it into a byte-symmetric value like 3737 or 6868 in all devices.

1 Like

Thanks, that calculation has the same result on openwrt and archlinux (tested via cmdline).
But on the configuration page I see mobility_domain=4f57 which is different from echo my_ssid | md5sum | head -c 4 result.
I was expecting 4f57 is a result based on my_ssid...

That 4f57 is just an example placeholder

1 Like