EDIT: If you want to skip the noise / TL;DR, see my comment at the bottom. The culprit here is SWSUP (authentication offloading to the firmware). Disabling it fixes things.
Hi,
I've encountered the bug a bug similar to the one described here : https://bugs.launchpad.net/raspbian/+bug/1929746 on a RPI 3A+ and a RPI 4B, using raspios bullseye (2022-09-22-raspios-bullseye-arm64-lite.img.xz). With both available firmware-brcm80211 versions ( 1:20221012-1~bpo11+1+rpt1 and 20210315-3 ), the bug exists.
Bug description
Upon trying to connect to a wifi AP from a RPI 3A+ or RPI 4B (BCM4345), the association fails with CTRL-EVENT-ASSOC-REJECT error messages :
sudo wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0
Successfully initialized wpa_supplicant
wlan0: Trying to associate with **:**:**:**:**:** (SSID='foo' freq=2417 MHz)
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=**:**:**:**:**:** status_code=16
wlan0: Trying to associate with **:**:**:**:**:** (SSID='foo' freq=2417 MHz)
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=**:**:**:**:**:** status_code=16
wlan0: Trying to associate with **:**:**:**:**:** (SSID='foo' freq=2417 MHz)
wlan0: CTRL-EVENT-ASSOC-REJECT bssid=**:**:**:**:**:** status_code=16
[etc]
I tested this with 3 different APs, with various channels and regulatory regions and still obtain the same result. No sign of any request in the AP logs.
Swapping the SD card to a RPI 3 (BCM4343), the connection is working flawlessly.
Workaround
As per the original bug report's author suggestion, disabling SAE and/or SWSUP solves the issue :
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 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.
I can confirm that after setting those drivers options in /etc/modprobe.d/, the issue disappeared on both 3A+ and 4B. Furthermore, it did not prevent my Rpi 3B (sans +) to connect normally.
I did try to use each setting on it's own but only the combination of those solved the issue.
Questions
I have yet to find any documentation as to the 0x82000 part and what exact features it points to ( Does it disable both SAE and SWSUP at once ? ) Maybe only SWSUP is the issue here ? I did not find documentation regarding SWSUP, no idea how the original author deduced it was part of the culprit. If anyone has knowledge to share on this, it would be nice !
See this page for informations on that 0x82000 value : https://iwd.wiki.kernel.org/offloading
This will disable both SAE (0x80000) and FWSUP (0x02000). You could disable just one, but this is not suggested due to a bug which prevents EAPoL frames from being forwarded after offloading is used for the first time.
Note : I'm aware of #9 but it seems that it was resolved by upgrading to wpasupplicant 2.9 and I'm using 2:2.9.0-21.
System infos
As well as the original bug's author, I'm using dtoverlay=disable-bt in 'config.txt'.
Kernel:
Linux pi 5.15.76-v7+ #1597 SMP Fri Nov 4 12:13:17 GMT 2022 armv7l GNU/Linux
Broadcom fw :
Firmware: BCM4345/6 wl0: Nov 1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
Rpi fw:
Oct 26 2022 11:10:35
Copyright (c) 2012 Broadcom
version c72ad6b26ff40c91ef776b847436094ee63fabee (clean) (release) (start)
wpa_cli version:
wpa_cli v2.10
Copyright (c) 2004-2022, Jouni Malinen <j@w1.fi> and contributors
dhcpcd version:
dhcpcd 8.1.2
Copyright (c) 2006-2019 Roy Marples
Compiled in features: INET ARP ARPing IPv4LL INET6 DHCPv6 AUTH
Wpa_supplicant version:
firmware-brcm80211 version :
1:20221012-1~bpo11+1+rpt1
EDIT: If you want to skip the noise / TL;DR, see my comment at the bottom. The culprit here is SWSUP (authentication offloading to the firmware). Disabling it fixes things.
Hi,
I've encountered
the buga bug similar to the one described here : https://bugs.launchpad.net/raspbian/+bug/1929746 on a RPI 3A+ and a RPI 4B, using raspios bullseye (2022-09-22-raspios-bullseye-arm64-lite.img.xz). With both availablefirmware-brcm80211versions ( 1:20221012-1~bpo11+1+rpt1 and 20210315-3 ), the bug exists.Bug description
Upon trying to connect to a wifi AP from a RPI 3A+ or RPI 4B (BCM4345), the association fails with
CTRL-EVENT-ASSOC-REJECTerror messages :I tested this with 3 different APs, with various channels and regulatory regions and still obtain the same result. No sign of any request in the AP logs.
Swapping the SD card to a RPI 3 (BCM4343), the connection is working flawlessly.
Workaround
As per the original bug report's author suggestion, disabling SAE and/or SWSUP solves the issue :
I can confirm that after setting those drivers options in
/etc/modprobe.d/, the issue disappeared on both 3A+ and 4B. Furthermore, it did not prevent my Rpi 3B (sans +) to connect normally.I did try to use each setting on it's own but only the combination of those solved the issue.
Questions
I have yet to find any documentation as to the0x82000part and what exact features it points to ( Does it disable both SAE and SWSUP at once ? ) Maybe only SWSUP is the issue here ? I did not find documentation regarding SWSUP, no idea how the original author deduced it was part of the culprit. If anyone has knowledge to share on this, it would be nice !See this page for informations on that
0x82000value : https://iwd.wiki.kernel.org/offloadingNote : I'm aware of #9 but it seems that it was resolved by upgrading to wpasupplicant 2.9 and I'm using 2:2.9.0-21.
System infos
As well as the original bug's author, I'm using
dtoverlay=disable-btin 'config.txt'.Kernel:
Broadcom fw :
Rpi fw:
wpa_cli version:
dhcpcd version:
Wpa_supplicant version:
firmware-brcm80211 version :