New Raspberry Pi 400

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 :stuck_out_tongue: )

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 :frowning:

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.