Bug 1655249

Summary: fedora 29 aarch64 WIFI not functioning on a Raspberry Pi 3B+
Product: [Fedora] Fedora Reporter: Armin Wies <rhbz.20.hasenhei>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 29CC: airlied, berend.de.schouwer, bskeggs, ewk, hdegoede, heimo.gursch, ichavero, itamar, jarodwilson, jcline, jglisse, john.j5live, jonathan, josef, kernel-maint, linville, mchehab, mjg59, nikperrakis, steved
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-01-14 18:09:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Armin Wies 2018-12-01 22:46:35 UTC
Description of problem:

Wifi is not usable on raspberry pi 3b+ after fresh fedora 29 minimal aarch64 install, dnf update.

https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi#Wifi:
states that it should work out-of-the-box.

I am not seeing any dmesg indication that firmware failed to load, or any other indications concerning wifi hardware.
`sudo nmcli dev ` shows lo and eth0, but no wifi device.


Version-Release number of selected component (if applicable):
fedora 29 minimal aarch64


How reproducible:
Fresh install on same hardware with https://dl.fedoraproject.org/pub/fedora-secondary/releases/29/Spins/aarch64/images/Fedora-Minimal-29-1.2.aarch64.raw.xz image.


Steps to Reproduce:

1. Install aarch64 release image to raspberry pi 3b+
2. dnf update  (as of 2018-12-01 )
3. sudo nmcli dev


Actual results:

$ sudo nmcli dev
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --         


Expected results:

Available wifi device

Additional info:
Problem already reported in 1649344, closed, but problem still exist.

Comment 1 Heimo G. 2018-12-08 16:42:40 UTC
I can confirm this problem for the Raspberry Pi 3B (the one without the +) as well.

Comment 2 Nikolaos Perrakis 2018-12-10 22:46:18 UTC
I also experience this problem - as posted in the other bug report as well.

It is unresolved with today's latest updates. WiFi is not working on an aarch64 F29 server image on a rpi3b+:

Some command line information to help:

# nmcli dev
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --         
# uname -a
Linux raspberry1 4.19.6-300.fc29.aarch64 #1 SMP Sun Dec 2 17:21:47 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
# nmcli dev
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --         
# nmcli dev wifi list
# lsmod | egrep -i brcmfmac
# modprobe -vvv brcmfmac
modprobe: INFO: custom logging function 0xaaaadec527c8 registered
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/net/wireless/cfg80211.ko.xz 
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko.xz 
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz 
modprobe: INFO: context 0xaaaae2b044b0 released
# nmcli dev
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --         
# dmesg|grep brcm
[   21.592497] bluetooth hci0: Direct firmware load for brcm/BCM4345C0.hcd failed with error -2
[   21.601113] Bluetooth: hci0: BCM: Patch brcm/BCM4345C0.hcd not found
[  971.285600] usbcore: registered new interface driver brcmfmac
# dmesg|grep -i firmware
[    4.807984] raspberrypi-firmware soc:firmware: Attached to firmware from 2018-11-04 16:32
[   21.592497] bluetooth hci0: Direct firmware load for brcm/BCM4345C0.hcd failed with error -2
# dnf info linux-firmware
Installed Packages
Name         : linux-firmware
Version      : 20181008
Release      : 88.gitc6b6265d.fc29
Arch         : noarch
Size         : 291 M
Source       : linux-firmware-20181008-88.gitc6b6265d.fc29.src.rpm
Repo         : @System
From repo    : updates
Summary      : Firmware files used by the Linux kernel
URL          : http://www.kernel.org/
License      : GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
Description  : This package includes firmware files required for some devices to
             : operate.

# cat /proc/cpuinfo 
processor	: 0
BogoMIPS	: 38.40
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 1
BogoMIPS	: 38.40
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 2
BogoMIPS	: 38.40
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

processor	: 3
BogoMIPS	: 38.40
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

# ls -la /lib/firmware/brcm/
total 15500
drwxr-xr-x.  2 root root   4096 Nov  8 20:20 .
drwxr-xr-x. 81 root root  12288 Nov  8 20:21 ..
-rw-r--r--.  1 root root  54734 Oct 13 16:50 BCM-0bb4-0306.hcd
-rw-r--r--.  1 root root 269595 Oct 13 16:50 bcm4329-fullmac-4.bin
-rw-r--r--.  1 root root  96224 Oct 13 16:50 bcm43xx-0.fw
-rw-r--r--.  1 root root    180 Oct 13 16:50 bcm43xx_hdr-0.fw
-rw-r--r--.  1 root root 397312 Oct 13 16:50 brcmfmac43143.bin
-rw-r--r--.  1 root root 385067 Oct 13 16:50 brcmfmac43143-sdio.bin
-rw-r--r--.  1 root root 348160 Oct 13 16:50 brcmfmac43236b.bin
-rw-r--r--.  1 root root 455745 Oct 13 16:50 brcmfmac43241b0-sdio.bin
-rw-r--r--.  1 root root 403855 Oct 13 16:50 brcmfmac43241b4-sdio.bin
-rw-r--r--.  1 root root 408682 Oct 13 16:50 brcmfmac43241b5-sdio.bin
-rw-r--r--.  1 root root 479232 Oct 13 16:50 brcmfmac43242a.bin
-rw-r--r--.  1 root root 253748 Oct 13 16:50 brcmfmac4329-sdio.bin
-rw-r--r--.  1 root root 222126 Oct 13 16:50 brcmfmac4330-sdio.bin
-rw-r--r--.  1 root root 400864 Oct 13 16:50 brcmfmac43340-sdio.bin
-rw-r--r--.  1 root root 451566 Oct 13 16:50 brcmfmac4334-sdio.bin
-rw-r--r--.  1 root root 569291 Oct 13 16:50 brcmfmac4335-sdio.bin
-rw-r--r--.  1 root root 202107 Oct 13 16:50 brcmfmac43362-sdio.bin
-rw-r--r--.  1 root root 562183 Oct 13 16:50 brcmfmac4339-sdio.bin
-rw-r--r--.  1 root root 382455 Oct 13 16:50 brcmfmac43430a0-sdio.bin
-rw-r--r--.  1 root root    875 Oct 13 16:50 brcmfmac43430-sdio.AP6212.txt
-rw-r--r--.  1 root root 388739 Oct 13 16:50 brcmfmac43430-sdio.bin
-rw-r--r--.  1 root root    831 Oct 13 16:50 brcmfmac43430-sdio.MUR1DX.txt
-rw-r--r--.  1 root root    625 Oct 13 16:50 brcmfmac43430-sdio.raspberrypi,3-model-b.txt
-rw-r--r--.  1 root root 488193 Oct 13 16:50 brcmfmac43455-sdio.bin
-rw-r--r--.  1 root root   1687 Oct 13 16:50 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
-rw-r--r--.  1 root root 623304 Oct 13 16:50 brcmfmac4350c2-pcie.bin
-rw-r--r--.  1 root root 626140 Oct 13 16:50 brcmfmac4350-pcie.bin
-rw-r--r--.  1 root root 605388 Oct 13 16:50 brcmfmac4354-sdio.bin
-rw-r--r--.  1 root root 557056 Oct 13 16:50 brcmfmac43569.bin
-rw-r--r--.  1 root root 648770 Oct 13 16:50 brcmfmac4356-pcie.bin
-rw-r--r--.  1 root root 526383 Oct 13 16:50 brcmfmac4356-sdio.bin
-rw-r--r--.  1 root root 550333 Oct 13 16:50 brcmfmac43570-pcie.bin
-rw-r--r--.  1 root root 633817 Oct 13 16:50 brcmfmac4358-pcie.bin
-rw-r--r--.  1 root root 595472 Oct 13 16:50 brcmfmac43602-pcie.ap.bin
-rw-r--r--.  1 root root 635449 Oct 13 16:50 brcmfmac43602-pcie.bin
-rw-r--r--.  1 root root 989401 Oct 13 16:50 brcmfmac4366b-pcie.bin
-rw-r--r--.  1 root root 623448 Oct 13 16:50 brcmfmac4371-pcie.bin
-rw-r--r--.  1 root root 479232 Oct 13 16:50 brcmfmac4373.bin
-rw-r--r--.  1 root root 457994 Oct 13 16:50 brcmfmac4373-sdio.bin

Comment 3 Berend De Schouwer 2018-12-11 07:37:33 UTC
If you *do* have the bluetooth firmware, this is what you get:

# modprobe -vvv brcmfmac
modprobe: INFO: custom logging function 0xaaaab76787c8 registered
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/net/wireless/cfg80211.ko.xz 
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko.xz 
insmod /lib/modules/4.19.6-300.fc29.aarch64/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz 
modprobe: INFO: context 0xaaaad55b4460 released

# dmesg | grep brcm
[  367.134380] usbcore: registered new interface driver brcmfmac

# nmcli dev
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
lo      loopback  unmanaged  --         

It doesn't auto-load brcmfmac.

Comment 4 Armin Wies 2019-01-13 15:19:34 UTC
Problem has been fixed in current release.
works for me now in 

kernel-4.19.13-300.fc29.aarch64
linux-firmware-20181219-89.git0f22c852.fc29.noarch

# nmcli dev 
DEVICE  TYPE      STATE      CONNECTION 
eth0    ethernet  connected  eth0       
wlan0   wifi      connected  local-ap   
lo      loopback  unmanaged  --