Rpi4: WiFi incompatibility with fast roaming (802.11r)

Bug #1929746 reported by uski
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Raspbian
New
Undecided
Unassigned

Bug Description

Hi,

There seem to be an incompatibility in the Wifi firmware of the brcmfmac Wifi driver on Raspberry Pi 4 which silently prevents it from associating with certain wireless access points that have 802.11r and/or WPA3 enabled.

I currently have 41 (yes fourty one) devices connected to this access point, from smart switches to Mac OS X computers, with Windows computers, Linux computers, an iPhone and Android phone, and none of these devices have any issue with this configuration which points to an issue with the brcmfmac driver.

Additionally, using a USB Wifi adapter with a different driver allows the Raspberry Pi to connect without any issue, further narrowing down the root cause to the driver or firmware of the Raspberry Pi 4 internal Wifi adapter.

I was able to resolve the issue by loading the brcmfmac driver with the following parameters :
rmmod brcmfmac
modprobe brcmfmac roamoff=1 feature_disable=0x82000
This disables the SAE (WPA3 related) and SWSUP (authentication offloading into the firmware), and fast roaming.

As soon as I did this, the Raspberry Pi 4 immediately connected to the wireless network through dhcpcd.

This is an issue which will be really extremely difficult to diagnose for beginners and I strongly suggest that this becomes the default configuration until these features are fixed in the firmware of the wifi driver or the kernel driver.

Beginners reading this and experiencing this issue are encouraged to try with the commands above and if it works, to make it permanent through a file in /etc/modprobe.d.

I have attached some logs that happen when the module is not loaded with these parameters, but I had to enable debugging with an extra module parameter.

I am in a position to reproduce this issue for the time being so if further debugging is required, let me know.

I do have dtoverlay=disable-bt in config.txt for other unrelated reasons.

Kernel version :
5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l GNU/Linux

Wifi driver firmware :
[ 629.068054] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Jan 4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e

Firmware version :
$ vcgencmd version
Apr 30 2021 13:46:08
Copyright (c) 2012 Broadcom
version d7f29d96450abfc77cd6cf011af1faf1e03e5e56 (clean) (release) (start_cd)

$ dhcpcd --version
dhcpcd 8.1.2
Copyright (c) 2006-2019 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH

$ apt list dhcpcd
Listing... Done
dhcpcd/stable 1:3.2.3-11 armhf

$ wpa_cli
wpa_cli v2.8-devel

$ apt list wpasupplicant
Listing... Done
wpasupplicant/stable,now 2:2.7+git20190128+0c1e29f-6+deb10u3 armhf [installed]

My accesspoint is running OpenWrt SNAPSHOT r16703-97e820c6d6 / LuCI Master git-21.124.24916-0faf9a4 with kernel version 5.4.117. Wifi network has 802.11r enabled, WMM enabled, authentication is "mixed WPA2/WPA3 PSK, SAE (CCMP)". It is a AirCube AC with a Atheros AR9342 rev 2 SoC.

Revision history for this message
uski (ba-cykian) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.