After setting up 802.11r, clients no longer able to connect to wi-fi

I tried setting up 802.11r on my router, and I'm having an odd problem.

First off, let me first point out that I am running LEDE 17.01.6, and not 18.06. My router has three radios, and I am trying to set up FT roaming so that my mobile devices are able to switch between radios more quickly.

After removing wpad-mini and install wpad (full), I added option ieee80211r '1' to each of my wifi-ifaces in /etc/config/wireless. When I reloaded the networking, the wlans went down and never came back up. I also tried manually configuring all of the settings, as laid out in this Reddit post. When I reload the networking, the wlans come back up, but then all of my client devices are no longer able to connect to the wi-fi, with messages saying that the wi-fi password is incorrect. If I try re-entering the wi-fi password, it just keeps getting rejected as being incorrect.

Interestingly, if I remove the manual configurations and reload the networking, all of the clients reconnect to the wi-fi automatically and no longer claim that the password is incorrect.

Has anyone else experienced anything similar when trying to set up 802.11r on OpenWrt/LEDE?

I never could get 802.11r working by following that Reddit.

Several commits related to 802.11r that you're missing that make things much simpler:

On openwrt-18.06

commit d4cad59927c2534773413f413221ae817052a596
Author: Gospod Nassa <redacted>
Date:   Fri May 18 09:39:33 2018 +0100

    hostapd: fix IEEE 802.11r (fast roaming) defaults

On master

commit 80c61c161ac5943137ade233d62cf89d746de5a2
Author: Mathias Kresin <redacted>
Date:   Tue Jul 10 19:22:41 2018 +0200

    treewide: use wpad-basic for not small flash targets
    
    Add out of the box support for 802.11r and 802.11w to all targets not
    suffering from small flash.

Did none of those commits make it into LEDE?

That is the original source for the first commit listed

Hmm, I do think I saw that at some point, and I tried adding option ft_psk_generate_local '1', but it didn't seem to do anything. I'm beginning to resign myself to the possibility that 802.11r might not work in LEDE. But other than setting up default options, the commits don't seem to actually modify how wpad actually works... right?

I went ahead and upgraded to OpenWrt 18.06.2 on my router (actually a fresh install, not a sysupgrade), turned on 802.11r... and the exact same thing is happening. All of my client devices are no longer able to connect to the wi-fi, with messages saying that the wi-fi password is incorrect. If I try re-entering the wi-fi password, it just keeps getting rejected as being incorrect.

Assuming that other people have been able to get it working successfully, then I can only conclude that I have something misconfigured. So here is what I have for my configs:

/etc/config/wireless
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '149'
        option hwmode '11a'
        option path '18000000.axi/bcma0:7/pci0000:00/0000:00:00.0/0000:01:00.0'
        option htmode 'VHT80'
        option country 'US'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid '<same SSID for all radios>'
        option encryption 'psk2'
        option key '<same wi-fi password for all radios>'
        option ieee80211r '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11' 
        option hwmode '11g'
        option path '18000000.axi/bcma0:8/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:01.0/0001:03:00.0'
        option htmode 'HT20'
        option country 'US'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option ssid '<same SSID for all radios>'
        option encryption 'psk2'
        option key '<same wi-fi password for all radios>'
        option ieee80211r '1'

config wifi-device 'radio2'
        option type 'mac80211'
        option channel '48' 
        option hwmode '11a'
        option path '18000000.axi/bcma0:8/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:02.0/0001:04:00.0'
        option htmode 'VHT80'
        option country 'US'

config wifi-iface 'default_radio2'
        option device 'radio2'
        option network 'lan'
        option mode 'ap'
        option ssid '<same SSID for all radios>'
        option encryption 'psk2'
        option key '<same wi-fi password for all radios>'
        option ieee80211r '1'

Does anything standing out as being incorrect?

I'm not sure but is hostapd-full required for 802.11r? do you have it installed?

the full wpad is needed, yes.

Yes, you have to remove wpad-mini and install wpad (full), otherwise the checkbox to enable 802.11r will not show up in the LuCI interface.

So, I take it no one else has experienced the same problem? Is there anyone out there who is using 802.11r successfully who might be able to post their /etc/config/wireless file, so that I have something for comparison with which I might be able to try to do further troubleshooting?

Here are my /var/run/hostapd-phy#.conf files when I have option ieee80211r '1' enabled, I don't know whether anyone might be able to see anything amiss from these. There are three files, one for each of the three radios.

/var/run/hostapd-phy0.conf
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=US
ieee80211d=1
ieee80211h=1
hw_mode=a
beacon_int=100
channel=149


ieee80211n=1
ht_coex=0
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=155
ieee80211ac=1
vht_capab=[SHORT-GI-80][SU-BEAMFORMER][SU-BEAMFORMEE][MAX-A-MPDU-LEN-EXP0][VHT-LINK-ADAPT-3]

interface=wlan0
ctrl_interface=/var/run/hostapd
ap_isolate=1
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
wpa_passphrase=<same wifi password for all radios>
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=<same SSID for all radios>
bridge=br-lan
mobility_domain=e9b7
ft_psk_generate_local=1
ft_over_ds=1
reassociation_deadline=1000
nas_identifier=<same beginning part of bssid>03
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=WPA-PSK FT-PSK
okc=0
disable_pmksa_caching=1
bssid=<same beginning part of bssid>:03
/var/run/hostapd-phy1.conf
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=US
ieee80211d=1
hw_mode=g
beacon_int=100
channel=11


ieee80211n=1
ht_coex=0
ht_capab=[SHORT-GI-20][DSSS_CCK-40]

interface=wlan1
ctrl_interface=/var/run/hostapd
ap_isolate=1
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
wpa_passphrase=<same wifi password for all radios>
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=<same SSID for all radios>
bridge=br-lan
mobility_domain=e9b7
ft_psk_generate_local=1
ft_over_ds=1
reassociation_deadline=1000
nas_identifier=<same beginning part of bssid>02
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=WPA-PSK FT-PSK
okc=0
disable_pmksa_caching=1
bssid=<same beginning part of bssid>:02
/var/run/hostapd-phy2.conf
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=US
ieee80211d=1
ieee80211h=1
hw_mode=a
beacon_int=100
channel=48


ieee80211n=1
ht_coex=0
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
ieee80211ac=1
vht_capab=[SHORT-GI-80][SU-BEAMFORMER][SU-BEAMFORMEE][MAX-A-MPDU-LEN-EXP0][VHT-LINK-ADAPT-3]

interface=wlan2
ctrl_interface=/var/run/hostapd
ap_isolate=1
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
wpa_passphrase=<same wifi password for all radios>
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=<same SSID for all radios>
bridge=br-lan
mobility_domain=e9b7
ft_psk_generate_local=1
ft_over_ds=1
reassociation_deadline=1000
nas_identifier=<same beginning part of bssid>01
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=WPA-PSK FT-PSK
okc=0
disable_pmksa_caching=1
bssid=<same beginning part of bssid>:01

I'm having a similar problem.
enable 802.11r and some devices won't connect (iphone 4s, Pixel2xl)

  • The iPhone says, "Incorrect Password"
  • the Pixel 2 XL just doesn't connect.

disable 802.11r and they both connect.

After disabling 802.11r, If I then get the iPhone & Pixel 2 XL connected and then check the 802.11r box, set NAS ID to 1, set Mobility domain to 1456, click Save & Apply and both phones leave the wifi. Attempts to reconnect on the iPhone, it'll prompt for a new password. On the Pixel 2XL it doesn't connect, no visible error message.

Ed

I will also note that this problem is still present after upgrading from OpenWrt 18.06.2 to 18.06.4.

Still a problem with 19.07.1 and Pixel devices. Other devices including a Galaxy phone and Chromecast will connect with 802.11r is enabled, but my Pixel 3 will not connect. Nothing appears in the logs when the Pixel tries to connect. Disabling 802.11r (the only change) and the Pixel 3 connects instantly.

I've solved my issue. The default firmware on 19.07 for the R7800 is 'ath10k-firmware-qca9984-ct' and there is a second firmware, 'ath10k-firmware-qca9984-ct-htt', that even notes 'may be required for .11r authentication' in its description. Sure enough after installing it the Pixel 3 connects with 802.11r enabled.

I'm having the same issue on 19.07.2 with wpad-openssl installed (for SAE).

After enabling 802.11r through LuCI with everything set to default, the Pixel 2 and 2XL won't connect. The SSIDs are shown on the phones but after tapping on them, or manually tapping connect, nothing happens -- won't connect and no visible error. Disabling 802.11r instantly fixes the problem.

The AP is on the ath10k-firmware-qca4019-ct driver, which is supposed to support 802.11r, and there isn't a ath10k-firmware-qca4019-ct-htt variant available for this AP (EA6350, ARM Cortex a7).

Any help, pointer, or clue is much appreciated.

EDIT
Found the problem: 802.11r functionality does not exist on WPA3 or WPA2/WPA3 mixed modes.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.