Bug 2275835 - Kernel 6.8 on RPi 4B can't connect to wifi with WPA3-PSK
Summary: Kernel 6.8 on RPi 4B can't connect to wifi with WPA3-PSK
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 43
Hardware: aarch64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-04-18 01:00 UTC by Chris Adams
Modified: 2025-12-02 21:54 UTC (History)
16 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Chris Adams 2024-04-18 01:00:47 UTC
Kernel 6.7.10-200.fc39.aarch64 on a Raspberry Pi 4B can connect to my wifi network that requires WPA3-PSK. Upgrading to 6.8.6-200.fc39.aarch64 fails to connect (times out). It can still connect to an SSID that's WPA2-PSK (but that's the wrong VLAN on this network). Booting back to 6.7.10 gets WPA3-PSK back.

Reproducible: Always

Comment 1 Peter Robinson 2024-04-29 17:30:42 UTC
The changes in the brcmfmac driver that is used on the RPi HW between the 6.7 and 6.8 dev cycle are very small (see the 6 changes below) so there must be a wider change in the kernel here around WPA3-PSK

$ git log v6.7..v6.8 --format=oneline --no-merges drivers/net/wireless/broadcom/brcm80211/brcmfmac/ 
5bdda0048c8d1bbe2019513b2d6200cc0d09c7bd wifi: brcmfmac: Adjust n_channels usage for __counted_by
257ca10c7317d4a424e48bb95d14ca53a1f1dd6f wifi: fill in MODULE_DESCRIPTION()s for Broadcom WLAN
49a78b05d5ca1e23fd737747a8757b8bdc319b30 USB: core: Use device_driver directly in struct usb_driver and usb_device_driver
0942155a48e4cfc2c83e514c86a3de8f78f6af02 PCI: Remove unused 'node' member from struct pci_driver
afb154426bf13a9d5cdc71f5d89d7416a6c2da10 wifi: brcmfmac: Convert to platform remove callback returning void
9d0d0a2070407fbeceb8700543eb78bb1560d18f wifi: brcm80211: replace deprecated strncpy with strscpy

Do you have any output/errors/logs?

Comment 2 Chris Adams 2024-04-30 00:39:13 UTC
I get a lot of kernel messages like this:

[   34.869823] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[   34.973738] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[   35.077856] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
[   35.181828] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52
[   35.287010] brcmfmac: brcmf_set_channel: set chanspec 0xd034 fail, reason -52
[   35.287286] brcmfmac: brcmf_set_channel: set chanspec 0xd038 fail, reason -52
[   35.287575] brcmfmac: brcmf_set_channel: set chanspec 0xd03c fail, reason -52
[   35.287842] brcmfmac: brcmf_set_channel: set chanspec 0xd040 fail, reason -52
[   35.288097] brcmfmac: brcmf_set_channel: set chanspec 0xd064 fail, reason -52
[   35.288336] brcmfmac: brcmf_set_channel: set chanspec 0xd068 fail, reason -52
[   42.061899] net_ratelimit: 30 callbacks suppressed
[   42.061919] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[   42.165920] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[   42.269906] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
[   42.373979] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52
[   42.477921] brcmfmac: brcmf_set_channel: set chanspec 0xd034 fail, reason -52
[   42.478203] brcmfmac: brcmf_set_channel: set chanspec 0xd038 fail, reason -52
[   42.478456] brcmfmac: brcmf_set_channel: set chanspec 0xd03c fail, reason -52
[   42.478728] brcmfmac: brcmf_set_channel: set chanspec 0xd040 fail, reason -52
[   42.479002] brcmfmac: brcmf_set_channel: set chanspec 0xd064 fail, reason -52
[   42.479273] brcmfmac: brcmf_set_channel: set chanspec 0xd068 fail, reason -52
[   54.030696] net_ratelimit: 30 callbacks suppressed

NetworkManager logs:

Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.2807] policy: auto-activating connection '[removed]' (19b4e6ad-d6e8-4743-ac2c-061ae123781a)
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.2825] device (wlan0): Activation: starting connection '[removed]' (19b4e6ad-d6e8-4743-ac2c-061ae123781a)
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.2829] device (wlan0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.2835] manager: NetworkManager state is now CONNECTING
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.7954] device (wlan0): set-hw-addr: reset MAC address to xx:xx:xx:xx:xx:xx (preserve)
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.7998] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8020] device (wlan0): Activation: (wifi) access point '[removed]' has security, but secrets are required.
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8023] device (wlan0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8047] device (wlan0): supplicant interface state: disconnected -> inactive
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8050] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> inactive
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8105] device (wlan0): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8121] device (wlan0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8147] device (wlan0): Activation: (wifi) connection '[removed]' has security, and secrets exist.  No new secrets needed.
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8150] Config: added 'ssid' value '[removed]'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8151] Config: added 'scan_ssid' value '1'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8152] Config: added 'bgscan' value 'simple:30:-65:300'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8154] Config: added 'key_mgmt' value 'SAE FT-SAE'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8156] Config: added 'psk' value '<hidden>'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8157] Config: added 'ieee80211w' value '2'
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8771] device (wlan0): supplicant interface state: inactive -> associating
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8773] device (p2p-dev-wlan0): supplicant management interface state: inactive -> associating
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8908] device (wlan0): supplicant interface state: associating -> disconnected
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.8910] device (p2p-dev-wlan0): supplicant management interface state: associating -> disconnected
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.9892] device (wlan0): supplicant interface state: disconnected -> scanning
Apr 29 19:32:09 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437129.9895] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Apr 29 19:32:12 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437132.9764] device (wlan0): supplicant interface state: scanning -> associating
Apr 29 19:32:12 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437132.9767] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Apr 29 19:32:13 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437133.0037] device (wlan0): supplicant interface state: associating -> disconnected
Apr 29 19:32:13 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437133.0040] device (p2p-dev-wlan0): supplicant management interface state: associating -> disconnected
Apr 29 19:32:13 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437133.5031] device (wlan0): supplicant interface state: disconnected -> scanning
Apr 29 19:32:13 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437133.5033] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Apr 29 19:32:16 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437136.4588] device (wlan0): supplicant interface state: scanning -> associating
Apr 29 19:32:16 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437136.4589] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Apr 29 19:32:16 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437136.4786] device (wlan0): supplicant interface state: associating -> disconnected
Apr 29 19:32:16 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437136.4787] device (p2p-dev-wlan0): supplicant management interface state: associating -> disconnected
Apr 29 19:32:17 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437137.4790] device (wlan0): supplicant interface state: disconnected -> scanning
Apr 29 19:32:17 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437137.4791] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Apr 29 19:32:20 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437140.4443] device (wlan0): supplicant interface state: scanning -> associating
Apr 29 19:32:20 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437140.4445] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Apr 29 19:32:20 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437140.4590] device (wlan0): supplicant interface state: associating -> disconnected
Apr 29 19:32:20 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437140.4592] device (p2p-dev-wlan0): supplicant management interface state: associating -> disconnected
Apr 29 19:32:25 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437145.4775] device (wlan0): supplicant interface state: disconnected -> scanning
Apr 29 19:32:25 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437145.4776] device (p2p-dev-wlan0): supplicant management interface state: disconnected -> scanning
Apr 29 19:32:30 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437150.4843] device (wlan0): supplicant interface state: scanning -> associating
Apr 29 19:32:30 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437150.4846] device (p2p-dev-wlan0): supplicant management interface state: scanning -> associating
Apr 29 19:32:30 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437150.5020] device (wlan0): supplicant interface state: associating -> disconnected
Apr 29 19:32:30 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437150.5022] device (p2p-dev-wlan0): supplicant management interface state: associating -> disconnected
Apr 29 19:32:35 pi4b.cmadams.net NetworkManager[993]: <warn>  [1714437155.4542] device (wlan0): Activation: (wifi) association took too long
Apr 29 19:32:35 pi4b.cmadams.net NetworkManager[993]: <info>  [1714437155.4544] device (wlan0): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')

I also tried 6.9.0-0.rc5.20240426gitc942a0cd3603.48.fc41.aarch64 from rawhide, same result.

I don't think it's just a general WPA3 issue, because my notebook (x86_64) connects to it okay.

Comment 3 Chris Adams 2024-10-31 01:24:53 UTC
This is still an issue with Fedora 41 and kernel-6.11.5-300.fc41.aarch64 on a Raspberry Pi 4 trying to connect to a WPA3-only network, using the exact same NetworkManager connection config as on an x86_64 Thinkpad (where it works).

Comment 4 Peter Robinson 2024-10-31 10:45:28 UTC
This is a known issue with the brcmfmac driver, it's not specific to the PRi, there's been patches flying around upstream but I don't believe any particular one has landed.

Comment 5 Chris Adams 2025-08-23 13:28:56 UTC
I saw commit 615dfc9acd35da56f33929ae20fe87752b80b2bc landed in stable kernel 6.16.1, and that 6.16.2-100 was in F41 updates-testing, so I gave it a try. It still won't connect with WPA3 (sae) to an Ubiquiti U7 Pro AP.

Comment 6 Peter Robinson 2025-08-23 13:53:49 UTC
I suspect that's the upstream firmware and there's not much we can do about that TBH.

Comment 7 Chris Adams 2025-08-24 15:28:40 UTC
It would seem if it were a firmware issue, it wouldn't have ever worked, but it definitely did before.

Comment 8 Chris Adams 2025-08-24 18:49:42 UTC
Just to double-check, I pulled kernel-6.7.11-200.fc39.aarch64 from koji, and with that, my Pi 4B connects right up with WPA3.

Comment 9 Adam Williamson 2025-12-02 01:14:41 UTC
This message is a reminder that Fedora Linux 41 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 41 on 2025-12-15.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '41'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 41 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 10 Chris Adams 2025-12-02 21:54:22 UTC
This is still an issue with Fedora 43 and kernel 6.17.9


Note You need to log in before you can comment on or make changes to this bug.