Does 802.11r work on AR71xx?

Are the AR71XX chipsets too old for 802.11r? I'm rocking some WNDR3800's and this might be my excuse to move to more recent hardware!

first ask whether 802.11r works on any of your client devices... the vast majority of devices made before 2017 seem to not work with it. Apple iPhones are one exception. Even many current devices seem to be not necessarily supporting it.

Yes, and the patches to make it easy to configure just went into the openwrt-18.06 branch.

Apple iOS devices are the only thing I've seen doing the fast transition on my APs at home (Archer C7).

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

    hostapd: fix IEEE 802.11r (fast roaming) defaults
    Use ft_psk_generate_local=1 by default, as it makes everything else fairly
    trivial. All of the r0kh/r1kh and key management stuff goes away and hostapd
    fairly much does it all     for us.
    We do need to provide nas_identifier, which can     be derived from the BSSID,
    and we need to generate     a mobility_domain, for which we default to the first
    four chars of the md5sum of the     SSID.
    The complex manual setup should also still work, but the defaults also
    now work easily out of the box. Verified by manually running hostapd
    (with the autogenerated config) and watching the debug output:
    wlan2: STA ac:37:43:a0:a6:ae WPA: FT authentication already completed - do not start 4-way handshake
     This was previous submitted to LEDE in
    [dwmw2: Rewrote commit message]
    Signed-off-by: Gospod Nassa <>
    Signed-off-by: David Woodhouse <>
    (cherry picked from commit 3cc56a5534b8b49a7e9ba57edf9878ec32bdd27a)

I have used 802.11r with wndr3800 and 3700v1/2
Works ok.

Works ok with my Android tablet.

1 Like

Actually, an addendum to that:
802.11r worked quite ok until the new simplified config settings override some of my earlier settings. Currently 802.11r works ok for 5GHz band, but does not work for 2.4 GHz band. That concerns both R7800+WNDR3700 and R7800+WRT3200ACM combos.

I have not yet tried to analyse if there is something wrong with the simplified settings.

after enabling debug logging in hostapd, I am not so sure if it does R anymore on the 5GHz band, either.

For me it works with all my ar71xx and ath9k based devices as ap and all the android phone (mostly lineage os 14.1+) clients in my house...
The only device that does not work properly is a acer notebook with a cheap broadcom wireless chip.
Every linux wireless device that uses the nl80211 driver and run a recent hostapd should work with 80211r.

I've been using that exact simplified configuration approach on ar71xx and ipq8065 since november, for 2.4 GHz and 5 GHz; you really only need to enable ieee80211r, nothing else (unless you want to configure it differently).

1 Like

So how do I go about adding this functionality to a WNDR3800? Do I have to move to the 18.06 branch? Or is there a way to add it to 17.01? I see this on Github, but I don't know what to do with it:

Install a recent 18.06~ snapshots or newer, make sure to have the full wpad (and not just wpad-mini) installed and add option ieee80211r '1' to your wifi-iface stanza(s).

Backporting to 17.01.x might be possible, but with 18.06 around the corner, I doubt anyone will spend the effort (and it's unlikely to be accepted as an official backport, as it's a new features and not a bugfix of any kind) - so backporting it would likely be up to you.

1 Like

The 802.11r functionality is already in 17.01 and is supported in LuCI wireless settings (since that commit from me that you referenced).

But it requires rather complex configuration, which this new simplified logic (in 18.06 and master) bypasses.

See e.g.

1 Like

I've been running with the "hostapd: fix IEEE 802.11r (fast roaming) defaults" patch indicated on master for quite a while. It patches a single shell script and has applied for me without any merge. If you want to stay on lede-17.04, you might try cherry-picking that commit on a local machine, then copying


on your OpenWRT box. No compile/build needed, it's just a text file.