question

bipedalprimate avatar image
bipedalprimate asked

No WiFi & Bluetooth on Raspberry Pi 400 with Venus v2.94

In preparation for an off-grid install, I installed Venus v2.94 on a recent Raspberry Pi 400 which booted fine.

However, there is no WiFi or Bluetooth available. WiFi & Bluetooth work when booting with Raspbian.

Following the lead of others attempting this on Pi Zero 2W & Pi 3B+, I suspect I need to update some files on Venus but am unsure as to which ones and where to get them.

For context this is result of dmesg for firmware:

  1. root@raspberrypi4:~# dmesg | grep firmware
  2. [    0.080865] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-03-24T13:19:26, variant start
  3. [    0.090881] raspberrypi-firmware soc:firmware: Firmware hash is e5a963efa66a1974127860b42e913d2374139ff5

These are the results of various commands suggested by previous users with similar issues:

  1. root@raspberrypi4:~# connmanctl technologies
  2. /net/connman/technology/ethernet
  3.   Name = Wired
  4.   Type = ethernet
  5.   Powered = True
  6.   Connected = True
  7.   Tethering = False
  8. /net/connman/technology/bluetooth
  9.   Name = Bluetooth
  10.   Type = bluetooth
  11.   Powered = True
  12.   Connected = False
  13.   Tethering = False

Note missing but expected WiFi entry. Although it indicates Bluetooth is Powered, it does not appear as a device in Victron Connect V5.90 nor as a available device in Bluetooth on a Samsung Galaxy Note 9 with Android V10.

Thought I would try to enable WiFi anyway.

  1. root@raspberrypi4:~# connmanctl enable wifi
  2. Error wifi: Method "SetProperty" with signature "sv" on interface "net.connman.Technology" doesn't exist

Console shows no WiFi adapter connected.1683431070147.pngBluetooth is enabled with a pincode set.

  1. root@raspberrypi4:~# dmesg | grep Bluetooth
  2. [    4.553575] Bluetooth: Core ver 2.22
  3. [    4.562081] Bluetooth: HCI device and connection manager initialized
  4. [    4.568647] Bluetooth: HCI socket layer initialized
  5. [    4.568678] Bluetooth: L2CAP socket layer initialized
  6. [    4.580476] Bluetooth: SCO socket layer initialized
  7. [    4.630453] Bluetooth: HCI UART driver ver 2.3
  8. [    4.634993] Bluetooth: HCI UART protocol H4 registered
  9. [    4.640408] Bluetooth: HCI UART protocol Three-wire (H5) registered
  10. [    4.650958] Bluetooth: HCI UART protocol Broadcom registered

dmesg looks ok for Bluetooth - although that is an assumption as I know little about Linux.

  1. root@raspberrypi4:~# dmesg | grep brcm
  2. [    1.179564] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
  3. [    1.179603] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
  4. [    1.179689] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
  5. [    1.179784] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00ffffffff -> 0x0400000000
  6. [    1.239134] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
  7. [    1.239509] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
  8. [    4.647618] brcmfmac: F1 signature read @0x18000000=0x15294345
  9. [    4.682839] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
  10. [    4.727248] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
  11. [    4.737718] usbcore: registered new interface driver brcmfmac
  12. [    5.757106] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

Third last message at 4.727248 looks problematic but again am not sure.

It seems there are 2 problems that may or not be solved with same fix:

  1. Bluetooth seems to have initialised correctly but is not discoverable.
  2. Rpi 400 WiFi device is not recognised by Venus 2.94 OS.


Suggestions to resolve this are welcome.

Venus OSRaspberry Pi
1683431070147.png (11.1 KiB)
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

6 Answers
johnny-brusevold avatar image
johnny-brusevold answered ·

You can try taking a copy of working Raspbian's /lib/firmware folder and overwriting all the files in venus-os /lib/firmware.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

bipedalprimate avatar image
bipedalprimate answered ·

Thanks @Johnny Brusevold

It worked after a bit of stuffing around with partition size limitations & permissions.

It appears the standard Venus OS image builds a SD card with these partitions:

  1. Disk /dev/mmcblk0: 14.88 GiB, 15980298240 bytes, 31211520 sectors
  2. Units: sectors of 1 * 512 = 512 bytes
  3. Sector size (logical/physical): 512 bytes / 512 bytes
  4. I/O size (minimum/optimal): 512 bytes / 512 bytes
  5. Disklabel type: dos
  6. Disk identifier: 0x43680537
  7.  
  8. Device         Boot    Start      End  Sectors  Size Id Type
  9. /dev/mmcblk0p1 *        8192    92757    84566 41.3M  c W95 FAT32 (LBA)
  10. /dev/mmcblk0p2         98304 10299801 10201498  4.9G 83 Linux
  11. /dev/mmcblk0p3      10301440 20598783 10297344  4.9G 83 Linux
  12. /dev/mmcblk0p4      20598784 31211519 10612736  5.1G 83 Linux                  

Unfortunately the Venus 'root' partition (/dev/mmcblk0p2) has only 100MB free and a working copy of Raspian lib/firmware is 198.4MB.

Venus OS has this in lib/firmware:

  1. 4 drwxr-xr-x 2 root 4096 Apr 13 09:42 brcm
  2.  4 drwxr-xr-x 2 root  4096 Apr 13 09:42 cypress
  3. 12 -rw-r--r-- 1 root  9219 Apr 13 09:30 LICENCE.cypress-rpidistro
  4.  4 -rw-r--r-- 1 root  2100 Apr 13 09:37 LICENCE.ralink_a_mediatek_company_firmware
  5.  4 -rw-r--r-- 1 root  2115 Apr 13 09:37 LICENCE.rtlwifi_firmware.txt
  6. 12 -rw-r--r-- 1 root 11509 Apr 13 09:30 LICENSE.broadcom_bcm43xx-rpidistro
  7. 48 -rw-r--r-- 1 root 45412 Apr 13 09:37 mt7601u.bin
  8. 80 -rw-r--r-- 1 root 81908 Apr 13 09:37 mt7662.bin
  9. 28 -rw-r--r-- 1 root 26350 Apr 13 09:37 mt7662_rom_patch.bin
  10.  8 -rw-r--r-- 1 root  4248 Apr 13 07:35 regulatory.db
  11.  4 -rw-r--r-- 1 root  1182 Apr 13 07:35 regulatory.db.p7s
  12.  8 -rw-r--r-- 1 root  8192 Apr 13 09:37 rt2870.bin
  13.  4 -rw-r--r-- 1 root  2048 Apr 13 09:37 rt73.bin
  14.  4 drwxr-xr-x 2 root  4096 Apr 13 09:37 rtlwifi

Raspian Bullseye has this in /lib/firmware:

  1. 4 drwxr-xr-x 2 root 4096 Feb 21 14:56 3com
  2.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 advansys
  3.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 ar3k
  4.   4 drwxr-xr-x 11 root   4096 Feb 21 14:56 ath10k
  5.   4 drwxr-xr-x  8 root   4096 Feb 21 14:56 ath11k
  6.   4 drwxr-xr-x  5 root   4096 Feb 21 14:56 ath6k
  7.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 ath9k_htc
  8.  12 drwxr-xr-x  2 root  12288 Feb 21 14:56 brcm
  9.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 cadence
  10.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 cxgb3
  11.   4 drwxr-xr-x  3 root   4096 Feb 21 14:56 cxgb4
  12.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 cypress
  13.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 dabusb
  14.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 e100
  15.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 ene-ub6250
  16.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 go7007
  17.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 i915
  18.   4 drwxr-xr-x  3 root   4096 Feb 21 14:56 imx
  19.   4 drwxr-xr-x  3 root   4096 Feb 21 14:56 intel
  20.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 kaweth
  21.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 libertas
  22.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 matrox
  23.   4 drwxr-xr-x  6 root   4096 Feb 21 14:56 mediatek
  24.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 moxa
  25.   4 drwxr-xr-x  3 root   4096 Feb 21 14:56 mrvl
  26.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 mwl8k
  27.   4 drwxr-xr-x 30 root   4096 Feb 21 14:56 nvidia
  28.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 qca
  29.   4 drwxr-xr-x  3 root   4096 Feb 21 14:55 raspberrypi
  30.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rockchip
  31.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 RTL8192E
  32.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rtl_bt
  33.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rtl_nic
  34.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rtlwifi
  35.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rtw88
  36.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 rtw89
  37.   4 drwxr-xr-x  2 root   4096 Feb 21 14:54 synaptics
  38.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 tehuti
  39.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 tigon
  40.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 ueagle-atm
  41.   4 drwxr-xr-x  2 root   4096 Feb 21 14:56 wfx
  42.  52 -rw-r--r--  1 root  50698 Nov  1  2022 agere_ap_fw.bin
  43.  64 -rw-r--r--  1 root  65046 Nov  1  2022 agere_sta_fw.bin
  44. 152 -rw-r--r--  1 root 153416 Nov  1  2022 ar5523.bin
  45.  72 -rw-r--r--  1 root  70624 Nov  1  2022 ar7010_1_1.fw
  46.  72 -rw-r--r--  1 root  70624 Nov  1  2022 ar7010.fw
  47.  52 -rw-r--r--  1 root  51312 Nov  1  2022 ar9271.fw
  48.  96 -rw-r--r--  1 root  95500 Nov  1  2022 as102_data1_st.hex
  49.  80 -rw-r--r--  1 root  81820 Nov  1  2022 as102_data2_st.hex
  50. 244 -rw-r--r--  1 root 246804 Nov  1  2022 ath3k-1.fw
  51. 112 -rw-r--r--  1 root 114688 Dec 20 04:31 BCM2033-FW.bin
  52.   4 -rw-r--r--  1 root   3245 Dec 20 04:31 BCM2033-MD.hex
  53. 644 -rw-r--r--  1 root 655436 Nov  1  2022 ctefx.bin
  54.   8 -rw-r--r--  1 root   4120 Nov  1  2022 ctspeq.bin
  55.  20 -rw-r--r--  1 root  18643 Nov  1  2022 dvb-fe-xc4000-1.4.1.fw
  56.  16 -rw-r--r--  1 root  12401 Nov  1  2022 dvb-fe-xc5000-1.6.114.fw
  57.  20 -rw-r--r--  1 root  16497 Nov  1  2022 dvb-fe-xc5000c-4.1.30.7.fw
  58.  36 -rw-r--r--  1 root  33768 Nov  1  2022 dvb-usb-dib0700-1.20.fw
  59.   8 -rw-r--r--  1 root   8128 Nov  1  2022 dvb-usb-it9135-01.fw
  60.   8 -rw-r--r--  1 root   5834 Nov  1  2022 dvb-usb-it9135-02.fw
  61.  52 -rw-r--r--  1 root  50222 Nov  1  2022 dvb-usb-terratec-h5-drxk.fw
  62. 180 -rw-r--r--  1 root 181312 Nov  1  2022 f2255usb.bin
  63.  32 -rw-r--r--  1 root  32348 Nov  1  2022 hfi1_dc8051.fw
  64.  20 -rw-r--r--  1 root  16848 Nov  1  2022 hfi1_fabric.fw
  65.  36 -rw-r--r--  1 root  33296 Nov  1  2022 hfi1_pcie.fw
  66.   8 -rw-r--r--  1 root   5360 Nov  1  2022 hfi1_sbus.fw
  67.  72 -rw-r--r--  1 root  72684 Nov  1  2022 htc_7010.fw
  68.  52 -rw-r--r--  1 root  50980 Nov  1  2022 htc_9271.fw
  69. 120 -rw-r--r--  1 root 118888 Nov  1  2022 lbtf_usb.bin
  70.   0 lrwxrwxrwx  1 root     19 Nov  1  2022 libertas_cs.fw -> libertas/cf8385.bin
  71.   0 lrwxrwxrwx  1 root     26 Nov  1  2022 libertas_cs_helper.fw -> libertas/cf8385_helper.bin
  72.  20 -rw-r--r--  1 root  17932 Nov  1  2022 lt9611uxc_fw.bin
  73.  48 -rw-r--r--  1 root  45412 Nov  1  2022 mt7601u.bin
  74. 360 -rw-r--r--  1 root 368220 Nov  1  2022 mt7650.bin
  75.  80 -rw-r--r--  1 root  81908 Nov  1  2022 mt7662.bin
  76.  28 -rw-r--r--  1 root  26350 Nov  1  2022 mt7662_rom_patch.bin
  77.  16 -rw-r--r--  1 root  13847 Nov  1  2022 mts_cdma.fw
  78.  16 -rw-r--r--  1 root  14067 Nov  1  2022 mts_edge.fw
  79.  16 -rw-r--r--  1 root  13847 Nov  1  2022 mts_gsm.fw
  80. 436 -rw-r--r--  1 root 446300 Nov  1  2022 qat_895xcc.bin
  81. 112 -rw-r--r--  1 root 114176 Nov  1  2022 qat_895xcc_mmp.bin
  82. 260 -rw-r--r--  1 root 265444 Nov  1  2022 qat_c3xxx.bin
  83. 116 -rw-r--r--  1 root 114820 Nov  1  2022 qat_c3xxx_mmp.bin
  84. 392 -rw-r--r--  1 root 398144 Nov  1  2022 qat_c62x.bin
  85. 116 -rw-r--r--  1 root 114820 Nov  1  2022 qat_c62x_mmp.bin
  86.   0 lrwxrwxrwx  1 root     18 Nov  1  2022 qat_mmp.bin -> qat_895xcc_mmp.bin
  87.   0 lrwxrwxrwx  1 root     31 Feb 21 14:53 regulatory.db -> /etc/alternatives/regulatory.db
  88.   8 -rw-r--r--  1 root   4388 Jun 30  2022 regulatory.db-debian
  89.   0 lrwxrwxrwx  1 root     35 Feb 21 14:53 regulatory.db.p7s -> /etc/alternatives/regulatory.db.p7s
  90.   4 -rw-r--r--  1 root   1225 Jun 30  2022 regulatory.db.p7s-debian
  91.   4 -rw-r--r--  1 root   1182 Jun 30  2022 regulatory.db.p7s-upstream
  92.   8 -rw-r--r--  1 root   4388 Jun 30  2022 regulatory.db-upstream
  93.   4 -rw-r--r--  1 root     63 Nov  1  2022 rp2.fw
  94.   8 -rw-r--r--  1 root   8192 Nov  1  2022 rt2561.bin
  95.   8 -rw-r--r--  1 root   8192 Nov  1  2022 rt2561s.bin
  96.   8 -rw-r--r--  1 root   8192 Nov  1  2022 rt2661.bin
  97.   8 -rw-r--r--  1 root   8192 Nov  1  2022 rt2860.bin
  98.   8 -rw-r--r--  1 root   8192 Nov  1  2022 rt2870.bin
  99.   0 lrwxrwxrwx  1 root     10 Nov  1  2022 rt3070.bin -> rt2870.bin
  100.   4 -rw-r--r--  1 root   4096 Nov  1  2022 rt3071.bin
  101.   0 lrwxrwxrwx  1 root     10 Nov  1  2022 rt3090.bin -> rt2860.bin
  102.   4 -rw-r--r--  1 root   4096 Nov  1  2022 rt3290.bin
  103.   4 -rw-r--r--  1 root   2048 Nov  1  2022 rt73.bin
  104.   0 lrwxrwxrwx  1 root     17 Nov  1  2022 s2250.fw -> go7007/s2250-2.fw
  105.   0 lrwxrwxrwx  1 root     17 Nov  1  2022 s2250_loader.fw -> go7007/s2250-1.fw
  106.   0 lrwxrwxrwx  1 root     19 Nov  1  2022 sd8385.bin -> libertas/sd8385.bin
  107.   0 lrwxrwxrwx  1 root     26 Nov  1  2022 sd8385_helper.bin -> libertas/sd8385_helper.bin
  108.   0 lrwxrwxrwx  1 root     22 Nov  1  2022 sd8686.bin -> libertas/sd8686_v8.bin
  109.   0 lrwxrwxrwx  1 root     29 Nov  1  2022 sd8686_helper.bin -> libertas/sd8686_v8_helper.bin
  110.   0 lrwxrwxrwx  1 root     15 Nov  1  2022 sd8688.bin -> mrvl/sd8688.bin
  111.   0 lrwxrwxrwx  1 root     22 Nov  1  2022 sd8688_helper.bin -> mrvl/sd8688_helper.bin
  112.   8 -rw-r--r--  1 root   4588 Dec 20 04:31 STLC2500_R4_00_03.ptc
  113.   4 -rw-r--r--  1 root    281 Dec 20 04:31 STLC2500_R4_00_06.ssf
  114.   4 -rw-r--r--  1 root    292 Dec 20 04:31 STLC2500_R4_02_02_WLAN.ssf
  115.   4 -rw-r--r--  1 root    508 Dec 20 04:31 STLC2500_R4_02_04.ptc
  116.   0 lrwxrwxrwx  1 root     23 Nov  1  2022 usb8388.bin -> libertas/usb8388_v5.bin
  117.  16 -rw-r--r--  1 root  16382 Nov  1  2022 v4l-cx231xx-avcore-01.fw
  118. 140 -rw-r--r--  1 root 141200 Nov  1  2022 v4l-cx23418-apu.fw
  119. 156 -rw-r--r--  1 root 158332 Nov  1  2022 v4l-cx23418-cpu.fw
  120.  16 -rw-r--r--  1 root  16382 Nov  1  2022 v4l-cx23418-dig.fw
  121.  16 -rw-r--r--  1 root  16382 Nov  1  2022 v4l-cx23885-avcore-01.fw
  122.  16 -rw-r--r--  1 root  16382 Nov  1  2022 v4l-cx25840.fw
  123.  12 -rw-r--r--  1 root  11341 Nov  1  2022 vntwusb.fw
  124.   4 -rw-r--r--  1 root   3588 Nov  1  2022 wil6210.brd
  125. 392 -rw-r--r--  1 root 400364 Nov  1  2022 wil6210.fw

Copied current Venus lib/firmware to lib/firmware_backup just in case.

Erased Venus lib/firmware and deleted Trash to free up space.

Copied files in Raspian lib/firmware non recursively as only wanted the files.

There are some symbolic links in Raspian lib/firmware, lib/firmware/brcm, lib/firmware/cypress, lib/firmware/rtlwifi to directories other than those originally in Venus lib/firmware so included those in remaining directory copies - again just in case.

Did not copy Raspbian lib/firmware/synaptics as those links in lib/firmware/brcm seem to refer to Pi Zero 2 W.

  1. BCM43430A1.raspberrypi,model-zero-2-w.hcd -> ../synaptics/SYN43430A1.hcd
  2. BCM43430B0.raspberrypi,model-zero-2-w.hcd -> ../synaptics/SYN43430B0.hcd

Ignored /etc/alternatives as most those links seem to be regulatory - whatever that means.

Raspian lib/firmware/cypress has this link:

  1. cyfmac43455-sdio.bin -> /etc/alternatives/cyfmac43455-sdio.bin

Again, ignored it for no other reason than it is in /etc/alternatives.

Copied these directories from Raspian lib/firmware to Venus lib/firmware:

  1. 12 drwxr-xr-x 2 root 12288 May 5 22:54 brcm
  2.   4 drwxr-xr-x 2 root   4096 May  5 22:54 cypress
  3.   4 drwxr-xr-x 2 root   4096 May  5 22:51 go7007
  4.   4 drwxr-xr-x 2 root   4096 May  5 22:53 libertas
  5.   4 drwxr-xr-x 3 root   4096 May  5 22:53 mrvl
  6.   4 drwxr-xr-x 2 root   4096 May  5 22:55 rtlwifi

Reboot into Venus. Bluetooth & WiFi works.

Now this solution probably contains more files & directories than is required for a Pi 400 but I do not have the skills to figure out what the minimum would be.

All of this was done using Raspian because I wanted a GUI file manager operating as Root to overcome permissions and am not conversant with enough Linux commands..

  1. Open Terminal Window,
  2. sudo -i
  3. pcmanfm

This gives root permissions to Raspbian File Manager.


2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

spyrosparx avatar image
spyrosparx answered ·

can you please explain in detail how you managed to install Venus OS 2.94 on a raspberry pi 400

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

bathnm avatar image
bathnm answered ·

these are the files that are needed.

  1. -rw-r--r--    1 root     root         36264 May  8 15:19 BCM43430A1.hcd
  2. -rw-r--r--    1 root     root         56508 May  8 15:19 BCM4345C0.hcd
  3. lrwxrwxrwx    1 root     root            31 May  8 15:19 brcmfmac43430-sdio.bin -> ../cypress/cyfmac43430-sdio.bin
  4. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43430-sdio.raspberrypi,3-model-b.txt -> brcmfmac43430-sdio.txt
  5. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43430-sdio.raspberrypi,model-zero-w.txt -> brcmfmac43430-sdio.txt
  6. -rw-r--r--    1 root     root          1121 May  8 15:19 brcmfmac43430-sdio.txt
  7. -rw-r--r--    1 root     root        428103 May  8 15:19 brcmfmac43436s-sdio.bin
  8. -rw-r--r--    1 root     root          1092 May  8 15:19 brcmfmac43436s-sdio.txt
  9. lrwxrwxrwx    1 root     root            31 May  8 15:19 brcmfmac43455-sdio.bin -> ../cypress/cyfmac43455-sdio.bin
  10. lrwxrwxrwx    1 root     root            36 May  8 15:19 brcmfmac43455-sdio.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
  11. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -> brcmfmac43455-sdio.txt
  12. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -> brcmfmac43455-sdio.txt
  13. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43455-sdio.raspberrypi,4-compute-module.txt -> brcmfmac43455-sdio.txt
  14. lrwxrwxrwx    1 root     root            22 May  8 15:19 brcmfmac43455-sdio.raspberrypi,4-model-b.txt -> brcmfmac43455-sdio.txt
  15. -rw-r--r--    1 root     root          2074 May  8 15:19 brcmfmac43455-sdio.txt


I believe as the PI400 is basically a PI4 the key line is would be this symbolic link

  1. brcmfmac43455-sdio.raspberrypi,4-model-b.txt -> brcmfmac43455-sdio.txt

Which would fix this error message

  1. [ 4.727248] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.bin failed with error -2
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

Ronald Rink avatar image
Ronald Rink answered ·

I ran into the same issue and had a closer look at the files really needed. And it seems only a very few are missing. Instead of overwriting most of /lib/firmware I manually added only a few files.

In short, I copied the brcm and cypress files from a Raspbian 6.1.21 to a USB stick and then copied the brcmfmac43456* and cyfmac4356* files to the firmware sub-directories. These are the commands I used:

  1. mount -o remount,rw /
  2.  
  3. cd /lib/firmware/cypress
  4. cp /run/media/sda1/cypress/cyfmac4356* .
  5. chmod 644 cyfmac4356*
  6.  
  7. cd /lib/firmware/brcm
  8. cp /run/media/sda1/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt .
  9. chmod 644 brcmfmac4356-pcie.gpd-win-pocket.txt
  10.  
  11. ln ../cypress/cyfmac4356-pcie.bin brcmfmac4356-pcie.bin
  12. chmod 777 brcmfmac4356-pcie.bin
  13.  
  14. ln ../cypress/cyfmac4356-pcie.clm_blob brcmfmac4356-pcie.clm_blob
  15. chmod 777 brcmfmac4356-pcie.clm_blob
  16.  
  17. ln ../cypress/cyfmac4356-sdio.bin brcmfmac4356-sdio.bin
  18. chmod 777 brcmfmac4356-sdio.bin
  19.  
  20. ln ../cypress/cyfmac4356-sdio.clm_blob brcmfmac4356-sdio.clm_blob
  21. chmod 777 brcmfmac4356-sdio.clm_blob
  22.  
  23. ln brcmfmac4356-sdio.AP6356S.txt brcmfmac4356-sdio.khadas,vim2.txt
  24. chmod 777 brcmfmac4356-sdio.khadas,vim2.txt
  25.  
  26. ln brcmfmac4356-sdio.AP6356S.txt brcmfmac4356-sdio.vamrs,rock960.txt
  27. chmod 777 brcmfmac4356-sdio.vamrs,rock960.txt
  28.  
  29. cp /run/media/sda1/brcm/brcmfmac43456-sdio.bin .
  30. chmod 644 brcmfmac43456-sdio.bin
  31.  
  32. cp /run/media/sda1/brcm/brcmfmac43456-sdio.clm_blob .
  33. chmod 644 brcmfmac43456-sdio.clm_blob
  34.  
  35. cp /run/media/sda1/brcm/brcmfmac43456-sdio.txt .
  36. chmod 644 brcmfmac43456-sdio.txt
  37.  
  38. ln brcmfmac43456-sdio.bin brcmfmac43456-sdio.raspberrypi,400.bin
  39. chmod 777 brcmfmac43456-sdio.raspberrypi,400.bin
  40.  
  41. ln brcmfmac43456-sdio.clm_blob brcmfmac43456-sdio.raspberrypi,400.clm_blob
  42. chmod 777 brcmfmac43456-sdio.raspberrypi,400.clm_blob
  43.  
  44. ln brcmfmac43456-sdio.txt brcmfmac43456-sdio.raspberrypi,400.txt
  45. chmod 777 brcmfmac43456-sdio.raspberrypi,400.txt
  46.  
  47. mount -o remount,ro /

https://gist.github.com/dfch/ba680f4efaf46eb8216484543578e94e

For a more thorough description, see this article:

https://watenan.uk/2023/07/02/enabling-wifi-on-a-raspberry-pi-400-with-venus-os/

Hope this helps.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

bathnm avatar image
bathnm answered ·

If someone can try the latest 3.1 beta on can Pi 400 that would be great. If it doesn't work then there are further files needed in the build process that can be added.

2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.