Can't find WLAN device on RPI-CM4L with 20.10 armhf preinstall server image

Bug #1912905 reported by Gavin Lin
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-firmware-raspi2 (Ubuntu)
Fix Released
Undecided
Unassigned
Focal
Fix Released
Undecided
William Wilson
Groovy
Fix Released
Undecided
William Wilson
Hirsute
Fix Released
Undecided
Unassigned
linux-raspi (Ubuntu)
Invalid
Undecided
Unassigned
Focal
Invalid
Undecided
Unassigned
Groovy
Invalid
Undecided
Unassigned
Hirsute
Invalid
Undecided
Unassigned

Bug Description

[Description]
Can't find WLAN device on Raspberry Pi CM4L with 20.10 armhf preinstall server image.
This only happens on armhf image.

[Steps to reproduce]
1. Flash image http://cdimage.ubuntu.com/ubuntu/releases/groovy/release/ubuntu-20.10-preinstalled-server-armhf+raspi.img.xz
2. Boot into system
5. Check wireless device using "ip a"

[Expected result]
Can't find WLAN device

[Actual result]
WLAN device works fine

[Additional information]
Hardware: RPI-CM4L
Kernel Version: 5.8.0-1006-raspi, 5.8.0-1012-raspi, 5.8.0-1013-raspi

CVE References

Gavin Lin (gavin.lin)
description: updated
Juerg Haefliger (juergh)
Changed in linux-raspi (Ubuntu Groovy):
status: New → Confirmed
Revision history for this message
Juerg Haefliger (juergh) wrote :

The compatibles are different between arm64 and armhf for the CM4 which results in a firmware load failure.

arm64:
        compatible = "raspberrypi,4-model-b\0brcm,bcm2711";

armhf:
        compatible = "raspberrypi,4-compute-module\0brcm,bcm2711";

Revision history for this message
Juerg Haefliger (juergh) wrote :

So on arm64 this works by accident because the kernel loads the fw file:
brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt

[ 11.512059] brcmfmac: F1 signature read @0x18000000=0x15264345
[ 11.530710] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 11.540495] usbcore: registered new interface driver brcmfmac
[ 11.781454] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 11.802739] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Mar 23 2020 02:19:54 version 7.45.206 (r725000 CY) FWID 01-88ee44ea

But on armhf it tries to load a non-existing fw file:
brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt

[ 11.212993] brcmfmac: F1 signature read @0x18000000=0x15264345
[ 11.255150] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 11.264126] usbcore: registered new interface driver brcmfmac
[ 11.287281] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt failed with error -2
[ 11.301774] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.txt failed with error -2
[ 12.333944] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Revision history for this message
Juerg Haefliger (juergh) wrote :

Doesn't work on Focal with kernel 5.4 either. Both arm64 and armhf.

Changed in linux-raspi (Ubuntu Focal):
status: New → Confirmed
Revision history for this message
Dave Jones (waveform) wrote :

Due to a missing brcmfmac43455-sdio.raspberrypi,4-compute-module.txt alias in linux-firmware-raspi2. The CM4's we'd encountered so far (and which had been tested for WiFi compatibility were all requesting brcmfmac43456-sdio.raspberrypi,4-compute-module.txt (note 43455 vs 43456) but it appears there's a couple of board revisions out there. I'll add the necessary alias in linux-firmware-raspi2 for hirsute, then we can see about SRU'ing this.

Juerg Haefliger (juergh)
Changed in linux-raspi (Ubuntu Hirsute):
status: New → Invalid
Changed in linux-raspi (Ubuntu Groovy):
status: Confirmed → Invalid
Changed in linux-raspi (Ubuntu Focal):
status: Confirmed → Invalid
Juerg Haefliger (juergh)
Changed in linux-raspi (Ubuntu Groovy):
status: Invalid → Confirmed
status: Confirmed → Invalid
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware-raspi2 - 4-0ubuntu2

---------------
linux-firmware-raspi2 (4-0ubuntu2) hirsute; urgency=medium

  * Add aliases and diversions for brcmfmac43455 configuration on the
    Raspberry Pi Compute Module 4, and 400 (LP: #1912905)

 -- Dave Jones <email address hidden> Fri, 12 Mar 2021 15:03:37 +0000

Changed in linux-firmware-raspi2 (Ubuntu Hirsute):
status: New → Fix Released
Revision history for this message
Robie Basak (racb) wrote : Please test proposed package

Hello Gavin, or anyone else affected,

Accepted linux-firmware-raspi2 into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware-raspi2/4-0ubuntu0~20.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in linux-firmware-raspi2 (Ubuntu Groovy):
status: New → Fix Committed
Changed in linux-firmware-raspi2 (Ubuntu Focal):
status: New → Fix Committed
Revision history for this message
Robie Basak (racb) wrote :

Hello Gavin, or anyone else affected,

Accepted linux-firmware-raspi2 into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/linux-firmware-raspi2/4-0ubuntu0~20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Juerg Haefliger (juergh) wrote :

Installed linux-firmware-raspi 4-0ubuntu3 from hirsute proposed and verified that /sys/class/net/wlan0 is present after boot.

And:
$ sudo dmesg | grep brcmf
[ 12.440670] brcmfmac: F1 signature read @0x18000000=0x15264345
[ 12.452809] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 12.463110] usbcore: registered new interface driver brcmfmac
[ 12.695439] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[ 12.712428] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Jan 4 2021 19:56:29 version 7.45.229 (617f1f5 CY) FWID 01-2dbd9d2e

tags: added: verification-done-hirsute
tags: added: verification-needed verification-needed-focal verification-needed-groovy
Changed in linux-firmware-raspi2 (Ubuntu Focal):
assignee: nobody → William Wilson (jawn-smith)
Changed in linux-firmware-raspi2 (Ubuntu Groovy):
assignee: nobody → William Wilson (jawn-smith)
Revision history for this message
William Wilson (jawn-smith) wrote :
Download full text (3.4 KiB)

The verification passed for groovy.

ubuntu@ubuntu:~$ apt-cache policy linux-firmware-raspi2
linux-firmware-raspi2:
  Installed: 2-0ubuntu2
  Candidate: 4-0ubuntu0~20.10.1
  Version table:
     4-0ubuntu0~20.10.1 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy-proposed/restricted armhf Packages
     3-0ubuntu2~20.10.1 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy-updates/restricted armhf Packages
 *** 2-0ubuntu2 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy/restricted armhf Packages
        100 /var/lib/dpkg/status
ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.56/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 42500sec preferred_lft 42500sec
    inet6 fe80::dea6:32ff:fefe:bab0/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ ls -l /sys/class/net/
total 0
lrwxrwxrwx 1 root root 0 Jan 1 1970 eth0 -> ../../devices/platform/scb/fd580000.ethernet/net/eth0
lrwxrwxrwx 1 root root 0 Jan 1 1970 lo -> ../../devices/virtual/net/lo
ubuntu@ubuntu:~$

ubuntu@ubuntu:~$ apt-cache policy linux-firmware-raspi2
linux-firmware-raspi2:
  Installed: 4-0ubuntu0~20.10.1
  Candidate: 4-0ubuntu0~20.10.1
  Version table:
 *** 4-0ubuntu0~20.10.1 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy-proposed/restricted armhf Packages
        100 /var/lib/dpkg/status
     3-0ubuntu2~20.10.1 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy-updates/restricted armhf Packages
     2-0ubuntu2 500
        500 http://ports.ubuntu.com/ubuntu-ports groovy/restricted armhf Packages
ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.56/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 43160sec preferred_lft 43160sec
    inet6 fe80::dea6:32ff:fefe:bab0/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.57/24 brd 192.168.0.255 scope global dynamic wlan0
       valid_lft 43160sec preferred_lft 43160sec
    inet6 fe80::dea6:32ff:fefe:bab1/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ ls -l /sys/class/net/
total 0
lrwxrwxrwx 1 root root 0 Jan 1 1970 eth0 -> ../../devices/pl...

Read more...

Revision history for this message
William Wilson (jawn-smith) wrote :

The verification passed for focal:

ubuntu@ubuntu:~$ apt-cache policy linux-firmware-raspi2
linux-firmware-raspi2:
  Installed: 3-0ubuntu2~20.04.1
  Candidate: 4-0ubuntu0~20.04.1
  Version table:
     4-0ubuntu0~20.04.1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal-proposed/multiverse armhf Packages
 *** 3-0ubuntu2~20.04.1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse armhf Packages
        100 /var/lib/dpkg/status
     1.20200212-0ubuntu1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal/multiverse armhf Packages
ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.59/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 43009sec preferred_lft 43009sec
    inet6 fe80::dea6:32ff:fefe:bab0/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ ls /sys/class/net/
eth0 lo

ubuntu@ubuntu:~$ apt-cache policy linux-firmware-raspi2
linux-firmware-raspi2:
  Installed: 4-0ubuntu0~20.04.1
  Candidate: 4-0ubuntu0~20.04.1
  Version table:
 *** 4-0ubuntu0~20.04.1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal-proposed/multiverse armhf Packages
        100 /var/lib/dpkg/status
     3-0ubuntu2~20.04.1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal-updates/multiverse armhf Packages
     1.20200212-0ubuntu1 500
        500 http://ports.ubuntu.com/ubuntu-ports focal/multiverse armhf Packages
ubuntu@ubuntu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.59/24 brd 192.168.0.255 scope global dynamic eth0
       valid_lft 43183sec preferred_lft 43183sec
    inet6 fe80::dea6:32ff:fefe:bab0/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether dc:a6:32:fe:ba:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.60/24 brd 192.168.0.255 scope global dynamic wlan0
       valid_lft 43183sec preferred_lft 43183sec
    inet6 fe80::dea6:32ff:fefe:bab1/64 scope link
       valid_lft forever preferred_lft forever
ubuntu@ubuntu:~$ ls /sys/class/net/
eth0 lo wlan0

tags: added: verification-done verification-done-focal verification-done-groovy
removed: verification-needed verification-needed-focal verification-needed-groovy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware-raspi2 - 4-0ubuntu0~20.10.1

---------------
linux-firmware-raspi2 (4-0ubuntu0~20.10.1) groovy; urgency=medium

  * Pull in latest from hirsute (LP: #1925971)
    - Add aliases and diversions for brcmfmac43455 configuration on the
      Raspberry Pi Compute Module 4, and 400 (LP: #1912905)

    - Added diversions for all wifi firmware blobs (LP: #1918013)
    - New upstream boot firmware release, 1.20210303
    - New upstream bluetooth firmware release, 1.2-4+rpt8

      [ Phil Elwell ]
      - Second Spectra fix for CYW43455 (CVE-2020-10370)
        - Original firmware name: BCM4345C0_003.001.025.0174.0342.hcd

    - New upstream wifi firmware release, 1:20190114-1+rpt11

      [ Serge Schneider ]
      - Update CYW43455 firmware
        - brcm/brcmfmac43455-sdio.bin 7.45.229
        - See: https://github.com/raspberrypi/linux/issues/3849

 -- William 'jawn-smith' Wilson <email address hidden> Fri, 23 Apr 2021 16:05:55 -0500

Changed in linux-firmware-raspi2 (Ubuntu Groovy):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for linux-firmware-raspi2 has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-firmware-raspi2 - 4-0ubuntu0~20.04.1

---------------
linux-firmware-raspi2 (4-0ubuntu0~20.04.1) focal; urgency=medium

  * Backport to focal (LP: #1925971)
    - Add aliases and diversions for brcmfmac43455 configuration on the
      Raspberry Pi Compute Module 4, and 400 (LP: #1912905)

    - Added diversions for all wifi firmware blobs (LP: #1918013)
    - New upstream boot firmware release, 1.20210303
    - New upstream bluetooth firmware release, 1.2-4+rpt8

      [ Phil Elwell ]
      - Second Spectra fix for CYW43455 (CVE-2020-10370)
        - Original firmware name: BCM4345C0_003.001.025.0174.0342.hcd

    - New upstream wifi firmware release, 1:20190114-1+rpt11

      [ Serge Schneider ]
      - Update CYW43455 firmware
        - brcm/brcmfmac43455-sdio.bin 7.45.229
        - See: https://github.com/raspberrypi/linux/issues/3849

 -- William 'jawn-smith' Wilson <email address hidden> Fri, 23 Apr 2021 16:05:55 -0500

Changed in linux-firmware-raspi2 (Ubuntu Focal):
status: Fix Committed → Fix Released
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.