802.11r Fast Transition how to understand that FT works?

The client drives the roam. Before tweaking further with router settings you might be suffering from AP placement or sharing a SSID between two bands with different physics. I’d take a second to make some measurements first.

Apple has a nice write up of what triggers a roam for iOS devices. If you have the same SSID on both bands, 2.4ghz and 5ghz will have different RSSI at distance - so depending on your environment, interference, and AP placement, your device will make the choice to jump. If you don’t like the physical location of where it is jumping to another band or another AP - take some RSSI measurements all throughout your environment to see how each band and each AP is seen by the client throughout your house.

Consider:

  1. more or less transmit power (sometimes less is better)
  2. different SSID for 5ghz and 2.4ghz. It is impossible to create a clean 67dB overlap between APs for both bands simultaneously. Consider setting your faster devices to a 5ghz only SSID and optimizing APs for 5ghz overlap. I found a good spot halfway through my house that I wanted fast clients to hand over. I placed APs high & unobstructed, turned down the transmission power to 20 (both APs RSSI were ~67dB at this midpoint after these changes), and kept iOS on a 5ghz only SSID.
  3. physically changing where heavy items / mirrors / other items are placed that kill wifi…..or changing AP location to optimize for these factors.

Write ups:

MacOS write up has a little more detail (not sure if iOS has the same selection logic but Apple tends to make things similar):

5 Likes

This seems very helpful and informative. Does this explain why an iPhone might lose WiFi connectivity altogether until manual intervention to (re)connect to WiFi? The latter is what is hugely problematic. It only affects my wife's iPhone. My Google Pixel 3A has no issue whatsoever.

To be clear, what I see sometimes is that the iPhone has lost WiFi completely and only regains it when I manually go to the WiFi settings section and press on the SSID to make it (re)connect again.

Admittedly in my case I have the same SSID for 2.4 and 5 for three access points. Is that bad? Does FT work from 2.4 to 5 and from 5 to 2.4 or is it only from 2.4 to 2.4 and 5 to 5?

Android devices roam very different from iOS devices. In android wifi settings there often is a roaming aggressive feature that can adjust the RSSI it roams at.

Go take some measurements around you house for how your clients “see” all three of those APs (RSSI values). I’d optimize the network for 5ghz and the iphone (since that RSSI threshold is fixed).

After it is optimized, the settings tweaks in OpenWrt will work the way you intend them to work.

@ACwifidude As I was using WDS my AP placement was based on best connection/throughput between my 2 Ap’s so placing it somewhere else would have degraded the connection between the AP’s or some client. But indeed, the Unifi 6 LR has different physics for the 2.4 and 5 ghz band and I was sharing a SSID between the two bands. Maybe this was my issue.
Roaming itself wasn’t the main problem in my case. Rather that sometimes I had no internet for a while when a client decided to roam to the 2.4 ghz band or the connection was totally lost.

@Lynx I know this doesn't helop you but the solution to my WIFI issues was buying a second Unifi AP and reverting my Unifi 6 LR to stock firmware and now my whole WIFI is controlled via Unifi controller running on my home server and since then I never had a single connection issue again. I’m still using OpenWrt for my main router.

@ACwifidude Thanks for taking the time and providing some very helpful information.

Still seeing iPhone problems. And this time my wife showed me what happens. She unlocks her phone and then finds the internet unresponsive (WiFi remains connected). To fix she has to disconnect and reconnect to the WiFi by tapping the WiFi button twice.

Could this be related to Apple devices using synthetic MAC addresses? Would that mess up roaming in a way that would explain the problem I am seeing?

I having seeing similar issue but I have a single AP and do not have 802.11r enabled.

Router/AP: Belkin RT3200 running MASTER-SNAPSHOT (UBI)
Client: Google Pixel 6 running Android 12

I thought this was a Pixel 6 specific issue but now after reading your post, I am not sure if it is a AP side issue or client side issue.

config wifi-device 'radio1'
        option type 'mac80211'
        option path '1a143000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
        option band '5g'
        option require_mode 'ac'
        option acs_exclude_dfs '1'
        option cell_density '0'
        option beacon_int '100'
        option country 'US'
        option he_bss_color '8'
        option channel '165'
        option htmode 'HE20'

config wifi-iface 'wlan0_5ghz'
        option ifname 'wlan0_5ghz'
        option device 'radio1'
        option mode 'ap'
        option ssid 'SSID_1'
        option key 'PASSWORD_1'
        option encryption 'sae'
        option network 'lan_1'
        option ieee80211w '2'
        option disassoc_low_ack '0'
        option auth_cache '1'
        option wpa_disable_eapol_key_retries '1'
        option tdls_prohibit '1'
        option dtim_period '5'
        option sae_pwe '1'

config wifi-iface 'wlan1_5ghz'
        option ifname 'wlan1_5ghz'
        option ssid 'SSID_2'
        option key 'PASSWORD_2'
        option device 'radio1'
        option mode 'ap'
        option disabled '1'
        option isolate '1'
        option encryption 'psk2+ccmp'
        option network 'lan_2'
        option disassoc_low_ack '0'
        option ieee80211w '0'
        option auth_cache '1'
        option wpa_disable_eapol_key_retries '1'
        option tdls_prohibit '1'
        option dtim_period '5'

Do you see anything in the logs indicative of a kind of 'stale' connection? This issue is very annoying but hard to address.

Something fairly exciting: I just tested FT over DS on my 3x RT3200's out of curiosity and lo and behold it now seems to work (whereas before only FT over AIR worked). Others who were in the same boat may like to try FT over DS again.

Which build are you using? I'm asking this because I'm still seeing "kernel reports: key addition failed" errors (I'm using a 22.03 snapshot build from last week).

But I noticed that m76 drivers were updated in master (which were not included in 22.03 branch):

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=4e1916f71aece40a3b5e8dd8328110fb74c48928

1 Like

Latest 22.03 snapshot: r19424-3b90edaff9

I also see those errors but noticed that the FT over DS seems to be actually working whereas before it didn't. So struck me as some progress.

Unfortunately this wasn't the magic bullet I thought it might be to resolve the iPhone WiFi issue I have been trying to address, namely loss of connectivity pending manual WiFi reconnection.

Could that be related to these specific error messages you mention about key addition failed (which I see too)? Or something else?

From my time with my RT3200 upgrading snapshots - firstly master and then 22.03 I have seen this iPhone issue come and go. It was not present in a fairly recent 22.03 snapshot but came again with about the second last update.

I gather from another thread that this issue may not be present in the present master snapshot, but I'm not sure.

A challenge is it seems there are multiple WiFi issues with similar symptoms affecting different people so it's not certain everyone is talking about the same issue.

1 Like

I'm trying to use "FT over DS" on 3 Linksys E8450 (UBI) running last snapshot (r19787-e3e9eb31a2)

I'm running it for over a year and never seen an "FT authentication already completed" on any of the APs

To me is not clear if when setting "FT over DS" the APs need to comunicate in some way between them (they receive 2 vlans, one is bridged with the to wlan0 and wlan1, and the other is local to de device only for management)
And it is not clear either if i need to put values on "External R0 Key Holder List" and/or "External R1 Key Holder List"

Thanks,
Luca

This issue happens randomly so whenever it happened I just toggled WiFi off/on in my phone and went about my day.

However recently about 2 times when it happened, I checked the router system log but there were no logs messages related to WiFi (hostapd etc.) during the time periods the WiFi stops loading any web page or data in apps in my phone (but WiFi remains connected throughout, no disconnections).

1 Like

Yes this is the exact issue I face. I spent an hour today with iPad and verified that FT is working fine. I couldn't recreate the issue though. I tried letting iPad sleep then moving to new AP and starting it up but worked fine. Issue just seems random, hard to recreate and when it happens I see nothing in the logs. :frowning:.

I keep struggling to get Fast Transition working in combination with Radius authentication (11X). Any hints to make this work?

i tryed FT for a year now and i can say it works all u need is a phone that supporters FT but there is a big BUT that almost all phones for some reason decided to switch when the siganl lower then -85Db and this is the problem! U stay far from you AP u connected to for now and it is -76Db it wont switch even if u stay near to other AP in 1 meter! - 76Db is a bad signal.
So there is only one way and it is using kicking for example with DOWN
u cant see FT in logs if u have smartphone that cant do FT and u cant see it if u didnt make loging on level 1

@Lynx did you try to enable 802.11k + 802.11v ? Maybe it will help your wife iPhone.

        option ieee80211k '1'
        option ieee80211v '1'

Thank you for the suggestion. I haven't tried that. What effect would that have I wonder?

Please try these settings for the iPhone 13 issues, with an otherwise bare-bones configuration:

        # Common Options
        option rsn_preauth '1'
        option ieee80211w '0' #default
        option dtim_period '3'
        # Encryption Modes
        option encryption 'psk2+ccmp'
        # WPA Enterprise (despite the name, some of these settings apply to PSK as well)
        option wpa_group_rekey '3600'
        # BSS transition management frames options (802.11v)
        option time_advertisement '2'
        option time_zone '<cat /etc/TZ and put whatever is there here>'
        option wnm_sleep_mode '1'
        option bss_transition '1'
        # Fast BSS transition options (802.11r)
        option ieee80211r '1'
        option mobility_domain '2222'
        option reassociation_deadline '20000'
        option ft_over_ds '0'
        option ft_psk_generate_local '1'
        # Inactivity timeout options
        option disassoc_low_ack '0'
        option max_inactivity '300' #default
        option skip_inactivity_poll '1'

Ensure NTP is configured and running on your AP.

Do not enable the 802.11k features unless you are using a daemon that configures neighbors for you (DAWN, usteer, etc.). For troubleshooting it is probably best to leave it disabled.

The DTIM 3 is super important. Apple devices do not support DTIM lower than 3. This can cause numerous problems if not set. The reassociation deadline is also important -- the default value is not in line with industry standards.

Do not set or change max_inactivity. After applying configuration, ensure "uapsd_advertisement_enabled=1" appears in /var/run/hostapd-phy*.conf. The station's request to retrieve packets after power save should be sufficient to keep the inactivity timer at bay without the AP having to poll manually.


If this does not work, try turning ft_over_ds back on.


If that doesn't work, disable IPv6 completely on your network, and see if there are any improvements. If the problem goes away with IPv6 disabled, you will need to tweak your router advertisement / DHCPv6 configuration, and that's another whole can of worms.

Some device manufacturers (especially Google) force more aggressive power saving mechanisms in firmware, such that router advertisement packets can end up being ignored. When this happens, IPv6 leases / firewall state can be interrupted. This is technically a violation of the standard, but the work-around is to increase RA interval settings.


Please report back with your findings. The above settings work well for iPhone 13 on my AP.

8 Likes

Been a while. Anyone have success with those settings?

I've just found this thread and I'm wondering too.
Only on this forum there are threads where i.e. bss_transition is said to be set to 0 or others parameters.
I'm wondering if list above is complete (and why 802.11w has to be zero, as some clients may support it so why not "optional"?)