okay, Bluetooth is working now (thanks to Darksky).
sudo systemctl disable brcm43438.service
sudo pacman -S firmware-raspberrypi #Installs new firmware for the pi400
sudo pacman -S -dd brcm-patchram-plus-pi400 #Install bluetooth service for the pi400
sudo systemctl enable attach-bluetooth-pi400.service
But wifi is still missing. I even copied the files from the raspberry OS image to the folders named in the post above, but couldn’t get it run.
I will keep trying.
1 Like
The pi 400 wifi firmware is in the firmware-raspberrypi 6-1.4 package which you should have installed. With it installed the wifi should show up on reboot.
Thanks for your reply. I’ve 6-1.4 installed.
Honestly I need to admit that I’m new to manjaro and not very common to linux at all.
So I probably expected to see some kind of wifi utility/wizard in the taskbar, which scans and displays every wifi nearby.
After adding a wifi connection “manually”, it works fine! (Settings->Advanced Network Configurations).
I’m just a stupid beginner. Sorry bothering you.
Anyway I really like manjaro!
Take care!
Pille
Network Manager should be on the taskbar.
EDIT: firmware-raspberrypi-6-1.5 breaks wifi. revert back to 6-1.4
I’m on a raspberry pi 400 running Manjaro sway. I’m completely up to date on the unstable branch, and I followed the steps suggested to try and get wifi up…
sudo systemctl disable brcm43438.service
sudo pacman -S firmware-raspberrypi #Installs new firmware for the pi400
sudo pacman -S -dd brcm-patchram-plus-pi400 #Install bluetooth service for the pi400
sudo systemctl enable attach-bluetooth-pi400.service
But to no avail. On reboot systemctl reports that attach-bluetooth-pi400.service
was loaded, but under active and sub they both say failed. And for what it’s worth, a wlan0 device isn’t showing when I run ip -a
. I also do have bcm2711-rpi-400.dtb in /boot (but it is not being pointed at directly in config.txt). Any suggestions?
See Significant wifi speed increase with latest firmware - #4 by popsulfr (aka my fault )
Basically do
$ sudo mkdir -p /usr/lib/firmware/updates
$ sudo ln -s ../bcm/brcm /usr/lib/firmware/updates/brcm
and it should all work again.
1 Like
Actually the method above was used initially after transitioning from the pi-bluetooth package to the brcm-patchram-plus because of scratchy bluetooth headphone audio. At the time the pi 400 and the pi3b had to have manual intervention to have bluetooth.
Since then @Strit built a script that will automatically load the right bluetooth firmware for the right board at boot with the brcm-patchram-plus package.
bluetooth-script
These packages will be removed from the repo as they will not be used anymore:
pi-bluetooth
brcm-patchram-plus-pi3
brcm-patchram-plus-pi400
You really need to convert over to the brcm-patchram-plus package:
sudo rm -r /usr/lib/firmware/updates # Removes the directory and link you just made
sudo systemctl disable attach-bluetooth-pi400.service
sudo pacman -S brcm-patchram-plus firmware-raspberrypi
sudo systemctl enable attach-bluetooth.service
sudo reboot
Without the symlink wifi is broken.
It will be if you are using the brcm-patchram-plus-pi400 package. Need to convert over to the brcm-patchram-plus package.
I am using brcm-patchram-plus
. The wifi firmware is loaded independently from the bluetooth and the kernel doesn’t know to look into /usr/lib/firmware/bcm/brcm
.
Let me boot my pi 400 up and look. I was only checking for bluetooth yesterday. I might put the wifi firmware back in firmware/updates then if that is the case. I will have to think on it. The RPi people evidently does their own linux-firmware package. I can not dump the latest pi’s firmware in firmware like they do as there will be a conflict. But at the same time the linux-firmware has some different firmware with the same name and different md5sums that gets picked up first in /firmware/brcm as some one reported on the forum.
Well I am confused as everything is working here:
I am also confused lol I checked multiple times to make sure.
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0x00c0000000
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x00ffffffff -> 0x0400000000
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
Dec 15 01:20:35 rpi400 kernel: brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
Dec 15 01:20:36 rpi400 kernel: brcmstb-i2c fef04500.i2c: @97500hz registered in polling mode
Dec 15 01:20:36 rpi400 kernel: brcmstb-i2c fef09500.i2c: @97500hz registered in polling mode
Dec 15 01:20:36 rpi400 kernel: brcmfmac: F1 signature read @0x18000000=0x15294345
Dec 15 01:20:36 rpi400 kernel: brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
Dec 15 01:20:36 rpi400 kernel: usbcore: registered new interface driver brcmfmac
Dec 15 01:20:36 rpi400 kernel: brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
Dec 15 01:20:37 rpi400 kernel: brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
The firmware load of brcm/brcmfmac43456-sdio.bin
fails for me. wlan0
is completely missing for me
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether dc:a6:32:e0:9e:2f brd ff:ff:ff:ff:ff:ff
Are you sure you don’t have any firmware overrides in your /usr/lib/firmware/brcm
?
Currently installed version of linux-firmware
:
local/linux-firmware 20201120.bc9cd0b-1
Firmware files for Linux
After looking that is exactly what happened. I do not remember ever doing it. I wiped the directory and reinstalled the linux-firmware and the pi400 *43456*
firmware was not there.
Looking like all of my work yesterday is down the drain and so far I can not see how to over ride linux-firmware installl with it’s pi firmware with different md5sums with out maintaining the linux-firmware package myself.
I’m sorry to hear that
Leaving the specialised firmware in /usr/lib/firmware/updates
or keeping a symlink seems like the best option for now.
https://www.kernel.org/doc/html/latest/driver-api/firmware/fw_search_path.html
fw_path_para
paremeter or /sys/module/firmware_class/parameters/path
might be of interest to have a clean separation maybe ?
It appears that /lib/firmware/updates/ is supposed to be searched before /lib/firmware/. The bluetooth certainly gets picked up so it looks like for the wifi firmware it is hard coded to use /lib/firmware/brcm by the RPi folks or some one upstream.
For now until I decide on a course of action I guess I will rebuild the packages and put them back where they were until I figure something out.
What started this was some one on the forum found that if he installed the arch-arm version of the firmware his problems ceased with the pi4 but that package had not been updated since last July.
Well the patchram.sh
script forcibly loads from /lib/firmware/bcm/brcm/
/usr/bin/brcm_patchram_plus --patchram /lib/firmware/bcm/brcm/BCM4345C5.hcd --baudrate 3000000 --enable_hci --use_baudrate_for_download --no2bytes --tosleep=1000000 /dev/ttyAMA0
so if I’m not mistaken the bluetooth firmware could just as well be stored at /mnt/some/random/place/
it doesn’t matter that it is under /usr/lib/firmware
.
It’s important though for the normal kernel firmware loading, so I personally think that it is not the best idea to put the non free firmware in an invented subfolder bcm
.
Packages rebuilt back to original paths (with the latest firmware) and pushed to all branches when the mirrors sync. You might want to remove /usr/lib/firmware/updates directory before updating to prevent a possible install issue.
brcm-patchram-plus r3.bee0942-5
firmware-raspberrypi 6-1.6
Thanks for your help!
Hi, new forum member here.
I came here because I lost wifi after installing firmware-raspberrypi 6-1.5. I’ve done as Darksky said and installed brcm-patchram-plus r3.bee0942-5 & firmware-raspberrypi 6-1.6 after removing /usr/lib/firmware/updates directory. Now my wifi is back again, but bluetooth is gone.
Pamac has removed pi-bluetooth because it conflicts with brcm-patchram-plus r3.bee0942-5.
Any help would be appreciated.
Regards.
Are you sure brcm-patchram-plus r3.bee0942-5 got installed.