Broken 802.11r roaming if 802.11w is enabled (WPA3 or WPA2+802.11w)

Tested on TP-LINK CPE510 (ath9k) and TP-LINK WDR3600 (ath9k). Other users reported the same error: https://github.com/openwrt/mt76/issues/278

Steps to reproduce:

  • Put two WiFi routers at the desk and enable the same SSID on both. The SSIDs should belong to a unique network (using the two routers as APs, or one as a router and another as a AP)
  • Enable WPA2-PSK in CCMP mode, and 802.11w with "Generate PMK locally" (ft_psk_generate_local) enabled and FT protocol "FT Over the Air". I have not filled in the "NAS ID" and "Mobility Domain" options, but checking the /var/run/hostapd-phy0.conf file, I see that they have been autoconfigured correctly.
  • Test with a bunch of Android phones (in my case, Huawei, Xiaomi & Motorola, all w/Android 10). I've used Termux (ping and/or iperf3)
  • Roam with the phones. All works seamless, the ping and iperf3 does not break.
  • Enable 802.11w (optional) and reboot the routers.
  • Roam doesn't work.
  • Disable 802.11w and reboot
  • Roam works
  • Enable WPA3/WPA2 Mixed Mode and reboot
  • Roam doesn't work. All the devices insist on mantain a connection with the original AP. They only connect to the nearest new router if they are previously disassociated with the previous router (breaking the ping and iperf3 tests).
bugs.openwrt.org:enmaskarado (unverified)
Assigned to
2 years ago
2 years ago
No labels applied.