Rasperry Pi wlan problem solution

Raspberry Pi 2

Rasperry Pi wlan problem solution

Postby arl » Wed Feb 17, 2021 1:18 pm

Hello

On RaspberryPi 4B wlan doesn't work out of the box with linux 5.10.16-3-ARCH.

Code: Select all
 # iw dev
or
Code: Select all
# ip link
do not show any wlan device. wlan0 is not available.

Error in systemd log:
Code: Select all
# journalctl -b | grep bcrm
brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6


It took me a while to solve the problem, for I am surely not the only one with this problem, here is a solution:

To solve the problem you have to download bcrmfmac-43456-sdio.bin, bcrmfmac-43456-sdio.clm_blob and bcrmfmac-43456-sdio.txt from https://github.com/RPi-Distro/firmware-nonfree/tree/master/brcm. Place the files in /lib/firmware/brcm.

Code: Select all
# cd /lib/firmware/bcrm
# wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43456-sdio.txt
# wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43456-sdio.clm_blob
# wget https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm/brcmfmac43456-sdio.bin


Link or move the bcrmfmac-43456-sdio.txt file to '/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt' (the latter file already exists in the directory, backup it). This makes the system load the correct firmware.

Code: Select all
# cp '/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt' '/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt.backup'
# mv /lib/firmware/brcm/brcmfmac43456-sdio.txt '/lib/firmware/brcm/brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt'


Regenerate initramfs and reboot.
Code: Select all
# mkinitcpio -P
# reboot


wlan0 should be available and working now.
Last edited by arl on Wed Feb 17, 2021 10:36 pm, edited 1 time in total.
arl
 
Posts: 2
Joined: Wed Feb 17, 2021 12:43 pm

Re: Rasperry Pi wlan problem solution

Postby rlcdev » Wed Feb 17, 2021 8:19 pm

Hello arl,

Thanks a lot for your post.

I was playing with my interfaces and docker the other day (no internet in the containers) and I was thinking I had broken something.

So I started several fresh arch installation on my pi 4b. Each time my wlan0 is up before updating the kernel to its latest version. I guess the issue comes really from the kernel.

Before reading your post, I did try the same commands without mkinitcpio -P and today with it. And it did not make it.
By the way you have a typo in the move command.

Did you do any thing else special ? :cry:
rlcdev
 
Posts: 2
Joined: Wed Feb 17, 2021 7:44 pm

Re: Rasperry Pi wlan problem solution

Postby graysky » Wed Feb 17, 2021 9:10 pm

graysky
 
Posts: 860
Joined: Sun Jun 26, 2011 6:56 am
Location: /run/user/1000

Re: Rasperry Pi wlan problem solution

Postby rlcdev » Wed Feb 17, 2021 9:54 pm

Thank you for your help @greysky, I was not aware of this issue.
rlcdev
 
Posts: 2
Joined: Wed Feb 17, 2021 7:44 pm

Re: Rasperry Pi wlan problem solution

Postby arl » Wed Feb 17, 2021 11:07 pm

Hello rlcdev

Actually that's all it needed to get wlan0 working. Probably the most simple solution is to skip the firmware update as graysky hinted at.

If you for some reason can't skip the new linux-firmware package which breaks wlan, and want to try this workaround, make sure you did download the actual firmware files and not the html webpage of the individual files, you might have copy pasted the links from the git repository and not downloaded the files without realizing (I did so first). Also try reloading the brcmfmac module with
Code: Select all
# rmmod brcmfmac
# modprobe brcmfmac


If it still doesn't work, maybe the txt file of the old firmware had not the exactly same name. Make sure you move or link the new file to the name of the txt file corresponding to the driver loaded by your raspberry, it might differ from what it was called on my rpi. Don't need to mention you have to run all commands as root.

If you already have updated your system and don't get the workaround to work, uninstall the new linux-firmware package, go to /var/cache/pacman/pkg, search for the previous version of the firmware package and install it:

Code: Select all
# pacman -R linux-firmware
# cd /var/cache/pacman/pkg
# ls | grep linux-firmware
# pacman -U /var/cache/pacman/pkg/[name of old package]


Viel Erfolg!
arl
 
Posts: 2
Joined: Wed Feb 17, 2021 12:43 pm


Return to Broadcom

Who is online

Users browsing this forum: No registered users and 1 guest

cron