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: 41
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: 2024-10-31 10:45 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.


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