Bug 1206697 - Wireless network disappears on Raspberry Pi 4B after kernel-default 6.0.12
Wireless network disappears on Raspberry Pi 4B after kernel-default 6.0.12
Status: RESOLVED FIXED
: 1206797 1207228 (view as bug list)
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel
Current
aarch64 openSUSE Tumbleweed
: P5 - None : Normal (vote)
: ---
Assigned To: Ivan Ivanov
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2022-12-25 15:48 UTC by Mole Shang
Modified: 2023-01-23 07:25 UTC (History)
9 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
dmesg-6.1.1.log (52.59 KB, text/plain)
2022-12-25 15:48 UTC, Mole Shang
Details
dmesg-6.0.12.log (58.17 KB, text/plain)
2022-12-25 15:49 UTC, Mole Shang
Details
Working case. Journal log with verbose firmware loading. (112.73 KB, text/plain)
2023-01-05 08:23 UTC, Ivan Ivanov
Details
Non-working case. Journal log with verbose firmware loading. (103.90 KB, text/plain)
2023-01-05 08:24 UTC, Ivan Ivanov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mole Shang 2022-12-25 15:48:55 UTC
Created attachment 863687 [details]
dmesg-6.1.1.log

After upgrading kernel-default to 6.1.x for my rpi4 (running openSUSE Tumbleweed) from kernel:stable repo, I found my wireless network device (wlan0) was gone.
Downgrading to kernel-default 6.0.12 fixes the problem temporarily.

May that be a kernel-firmware issue as I suspect?

dmesg logs are provided as follows.
Comment 1 Mole Shang 2022-12-25 15:49:25 UTC
Created attachment 863688 [details]
dmesg-6.0.12.log
Comment 2 Stefan Wahren 2023-01-01 11:41:52 UTC
Happy new year. Can you please provide the available firmware files on the rpi4

ls /lib/firmware/brcm/brcmfmac43455-sdio*
Comment 3 Mole Shang 2023-01-01 12:52:39 UTC
(In reply to Stefan Wahren from comment #2)
> Happy new year. Can you please provide the available firmware files on the
> rpi4
> 
> ls /lib/firmware/brcm/brcmfmac43455-sdio*

Hi Stefan,

Wish you a happy new year too. :D

---
> ls -l /lib/firmware/brcm/brcmfmac43455-sdio*
.rw-r--r-- 864 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.acepc-t8.txt.xz
.rw-r--r-- 684 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.AW-CM256SM.txt.xz
lrwxrwxrwx  36 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.beagle,am5729-beagleboneai.txt.xz -> brcmfmac43455-sdio.AW-CM256SM.txt.xz
lrwxrwxrwx  34 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.bin.xz -> ../cypress/cyfmac43455-sdio.bin.xz
lrwxrwxrwx  39 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.clm_blob.xz -> ../cypress/cyfmac43455-sdio.clm_blob.xz
.rw-r--r-- 956 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.MINIX-NEO Z83-4.txt.xz
lrwxrwxrwx  36 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinebook-pro.txt.xz -> brcmfmac43455-sdio.AW-CM256SM.txt.xz
lrwxrwxrwx  36 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.pine64,pinephone-pro.txt.xz -> brcmfmac43455-sdio.AW-CM256SM.txt.xz
lrwxrwxrwx  36 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.pine64,quartz64-b.txt.xz -> brcmfmac43455-sdio.AW-CM256SM.txt.xz
lrwxrwxrwx  52 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt.xz -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt.xz
.rw-r--r-- 932 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt.xz
lrwxrwxrwx  47 root  2 Sep  2022 /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt.xz -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
.rw-r--r-- 928 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
lrwxrwxrwx  47 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt.xz -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
lrwxrwxrwx  47 root  2 Dec  2022 /lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi Compute Module 4.txt.xz -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz

> rpm -q --whatprovides /lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt.xz
kernel-firmware-brcm-20221130-1.1.noarch

> zypper if kernel-firmware-brcm
Loading repository data...
Reading installed packages...


Information for package kernel-firmware-brcm:
---------------------------------------------
Repository     : openSUSE-Tumbleweed-Oss
Name           : kernel-firmware-brcm
Version        : 20221130-1.1
Arch           : noarch
Vendor         : openSUSE
Installed Size : 9.7 MiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : kernel-firmware-20221130-1.1.src
Upstream URL   : https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
Summary        : Kernel firmware files for Broadcom wireless drivers
Description    : 
    This package contains compressed kernel firmware files for
    Broadcom wireless drivers.

---
Comment 4 Guillaume GARDET 2023-01-03 11:05:22 UTC
*** Bug 1206797 has been marked as a duplicate of this bug. ***
Comment 5 Stefan Wahren 2023-01-03 11:30:40 UTC
Yesterday i copied the brcm/cypress firmware to my Raspberry Pi OS sd card (mainline kernel, 32 bit, multi_v7_defconfig + CONFIG_FW_LOADER_COMPRESS), but i wasn't able to reproduce this issue with Linux 6.1. So issue seems to be more specific. I will look how to debug this.
Comment 6 Guillaume GARDET 2023-01-03 13:08:47 UTC
armv7 does not seem to be affected.

I tried kernel-firmware at versions 20221130 and 20221216 (updated 5 days ago in Factory) but there is no change. 

Kernel 6.1.0 received lots of updates for brcmfmac.
I also tested 6.1.2 which had more fixes, but still no luck.
Comment 8 Ivan Ivanov 2023-01-05 08:19:27 UTC
Thanks, Stefan, but this did not help. The WiFi interface
still does not appear
Comment 9 Ivan Ivanov 2023-01-05 08:23:35 UTC
Created attachment 863859 [details]
Working case. Journal log with verbose firmware loading.
Comment 10 Ivan Ivanov 2023-01-05 08:24:06 UTC
Created attachment 863860 [details]
Non-working case. Journal log with verbose firmware loading.
Comment 11 Ivan Ivanov 2023-01-05 08:32:00 UTC
As it is visible from the log clm_blob is not loaded in non-working case.
FTR, Bluetooth is working fine in the new kernel.
Comment 12 Ivan Ivanov 2023-01-05 08:41:45 UTC
Not sure if it related, but files which firmware tries to load are:

Working case:

brcmfmac43455-sdio.raspberrypi,4-model-b.bin
brcmfmac43455-sdio.raspberrypi,4-model-b.txt

Non-working case:

brcmfmac43455-sdio.raspberrypi-rpi.txt
brcmfmac43455-sdio.raspberrypi-rpi.bin

This is on RPi 4B device.
Comment 13 Stefan Wahren 2023-01-05 12:10:27 UTC
@Ivan Thanks this helps a lot. It seems that the real board model (raspberrypi,4-model-b) has been overwritten by some bogus entry (raspberrypi-rpi). Since i'm testing without chain loading (no U-Boot, no EFI) this issue wasn't reproducible in my setup.

Sorry, i don't have the time to bisect with this complex boot setup. But the following commits looks likely to cause the issue:

7682de8b335 wifi: brcmfmac: of: Fetch Apple properties
7cb46e72141 wifi: brcmfmac: firmware: Support passing in multiple board_types
e263d722941 wifi: brcmfmac: firmware: Handle per-board clm_blob files
Comment 14 Ivan Ivanov 2023-01-06 07:32:20 UTC
Yep, it was this one [1]. Fix send upstream [2]. Stefan, sorry, 
I forgot to add you to the CC list. 

[1] 7682de8b335 wifi: brcmfmac: of: Fetch Apple properties
[2] https://lore.kernel.org/all/20230106072746.29516-1-iivanov@suse.de/
Comment 15 Ayers 2023-01-06 21:50:48 UTC
Same problem on the PinebookPro, downgrading to kernel-default 6.0.12 also works.
Comment 16 Ivan Ivanov 2023-01-09 08:17:39 UTC
(In reply to Ayers from comment #15)
> Same problem on the PinebookPro, downgrading to kernel-default 6.0.12 also
> works.

Same issue. Fix was merged in netdev/net.git. 
Hopefully it will land soon in kernel-source::stable.

https://lore.kernel.org/netdev/CALeDE9M_AOs_hMdjBtFCYGXXMQzZ-uXK=x8=19GruC+UQN1ESg@mail.gmail.com/T/
Comment 17 Guillaume GARDET 2023-01-16 15:00:05 UTC
The fix is in 6.2-rc4, but not backported in stable 6.1.6 yet.
Do you know what the plans are for stable?
Comment 18 Ivan Ivanov 2023-01-16 15:37:25 UTC
This is what I have from Greg:

Date: Sat, 14 Jan 2023 11:03:31 +0100

This is a note to let you know that I've just added the patch titled

    brcmfmac: Prefer DT board type over DMI board type

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     brcmfmac-prefer-dt-board-type-over-dmi-board-type.patch
and it can be found in the queue-6.1 subdirectory.
Comment 19 Ivan Ivanov 2023-01-17 08:56:37 UTC
PATCH 6.1 020/183] brcmfmac: Prefer DT board type over DMI board type

In stable review queue.
Comment 20 Michal Suchanek 2023-01-20 08:25:16 UTC
*** Bug 1207228 has been marked as a duplicate of this bug. ***
Comment 21 Mole Shang 2023-01-20 12:49:46 UTC
Just for reference, kernel-default 6.2-rc4 (which includes the patch by @Ivan and tested fixes the problem) has been uploaded to openSUSE kernel master branch on Jan 17:
https://download.opensuse.org/repositories/Kernel:/HEAD/ARM/aarch64/kernel-default-6.2~rc4-2.1.g6bd4e43.aarch64.rpm
https://github.com/openSUSE/kernel-source/commit/b1ecb39635ba2d65e33c44ef2eadd8cc078cd97d

For users eagerly waiting for the fix, you can now switch to kernel master branch by following the instruction here:
https://kernel.opensuse.org/master.html

I guess we can close the issue once the patch gets backported to stable.
Thanks for all you guys' awesome work.
Comment 22 Guillaume GARDET 2023-01-23 07:25:20 UTC
Fixed in snapshot 20230119.