syncloud / platform

Run popular services on your device with one click
https://syncloud.org
GNU General Public License v3.0
392 stars 39 forks source link

wlan0 missing on Raspberry Pi4 #669

Closed martonaron closed 1 year ago

martonaron commented 1 year ago

At booting I get an error: brcmf_sdio_htclk: HT Avail timeout. And in ifconfig wlan0 is not listed.

What can I do to connect my RPi4 to wifi?

cyberb commented 1 year ago

You can try this

ifconfig wlan0 up
martonaron commented 1 year ago

I got this: wlan0: ERROR while getting interface flags: No such device

cyberb commented 1 year ago

Which image file did you write? Can you try this: https://github.com/syncloud/image/releases/download/23.01/syncloud-raspberrypi-64-23.01.img.xz

martonaron commented 1 year ago

Until now, I think I used this image, but I tried with the link you sent and I get the same error when I run ifconfig wlan0 up

cyberb commented 1 year ago

Can you try using an official rpi image to see if you get this error message?

We use this image at the moment: 2022-09-06-raspios-bullseye-arm64-lite.img

cyberb commented 1 year ago

I have RPi 3 B

dmesg | grep brcmf

[   10.291580] brcmfmac: F1 signature read @0x18000000=0x1541a9a6
[   10.307892] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   10.308456] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin failed with error -2
[   10.311262] usbcore: registered new interface driver brcmfmac
[   10.706983] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   10.707206] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
[   10.741867] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Jul 19 2021 03:24:18 version 7.45.98 (TOB) (56df937 CY) FWID 01-8e14b897
[672388.124177] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled

dmesg | grep -i raspb

[    0.000000] Machine model: Raspberry Pi 3 Model B Rev 1.2
[    0.152886] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-08-26T14:04:36, variant start
[    0.156913] raspberrypi-firmware soc:firmware: Firmware hash is 102f1e848393c2112206fadffaaf86db04e98326
[   10.308456] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.bin failed with error -2
martonaron commented 1 year ago

I installed 2022-09-06-raspios-bullseye-arm64-lite.img image, and it said that ,,Wi-Fi is currently blocked by rfkill." ,,Use raspi-config to set the cuntry before use."

At this time, ifconfig didn't list wlan0.

I added wpa_supplicant.conf and after that ifconfig started to list wlan0 too and wifi is working fine.

I tried to add the same wpa_supplicant to syncloud image too, but unfortunately I get the error on boot (brcmf_sdio_htclk: HT Avail timeout) and ifconfig still not listing wlan0.

martonaron commented 1 year ago

I know this is a bit crazy, but I tried to replace the syncloud image boot contents with the contents of the raspios-bullseye-arm64-lite image boot folder.

And unfortunately everything is the same, the same boot error, and the same wlan0 is not listed.

cyberb commented 1 year ago

Can you run this on the working rpi image:

dmesg | grep brcmf
martonaron commented 1 year ago

On Syncloud image (https://github.com/syncloud/image/releases/download/23.01/syncloud-raspberrypi-64-23.01.img.xz)

dmesg | grep brcmf

[    4.701911] brcmfmac: F1 signature read @0x18000000=0x15264345
[    4.721384] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    4.724806] usbcore: registered new interface driver brcmfmac
[    4.727710] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
[    4.728708] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.bin failed with error -2
[    5.732652] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

dmesg | grep -i raspb

[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.5
[    0.112377] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-08-26T14:03:16, variant start
[    0.116396] raspberrypi-firmware soc:firmware: Firmware hash is 102f1e848393c2112206fadffaaf86db04e98326
[    4.727710] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
cyberb commented 1 year ago

What about these on good and bad image:

modprobe brcmfmac
lsmod  | grep brcmfmac
uname -a
find /usr -name "brcmfmac*"
cyberb commented 1 year ago

Sorry and this:

find /lib -name "brcmfmac*"
cyberb commented 1 year ago

Strange you sent this from a working image in your last comment?

[ 5.732652] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
martonaron commented 1 year ago

What about these on good and bad image:

modprobe brcmfmac
lsmod  | grep brcmfmac
uname -a
find /usr -name "brcmfmac*"

On Syncloud image

root@syncloud:~#` modprobe brcmfmac
root@syncloud:~# lsmod  | grep brcmfmac
brcmfmac              335872  0
brcmutil               24576  1 brcmfmac
cfg80211              868352  1 brcmfmac
root@syncloud:~# uname -a
Linux syncloud 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux
root@syncloud:~# find /usr -name "brcmfmac*"
/usr/lib/firmware/brcm/brcmfmac4334-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43455-sdio.txt
/usr/lib/firmware/brcm/brcmfmac4366b-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
/usr/lib/firmware/brcm/brcmfmac4356-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43436s-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
/usr/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4373-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
/usr/lib/firmware/brcm/brcmfmac43456-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt
/usr/lib/firmware/brcm/brcmfmac43436-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43602-pcie.ap.bin
/usr/lib/firmware/brcm/brcmfmac54591-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43570-pcie.bin
/usr/lib/firmware/brcm/brcmfmac4371-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43241b4-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4356-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43456-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
/usr/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4350-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
/usr/lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
/usr/lib/firmware/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
/usr/lib/firmware/brcm/brcmfmac43602-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
/usr/lib/firmware/brcm/brcmfmac43340-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
/usr/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac43430a0-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43436s-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43242a.bin
/usr/lib/firmware/brcm/brcmfmac43236b.bin
/usr/lib/firmware/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
/usr/lib/firmware/brcm/brcmfmac4354-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
/usr/lib/firmware/brcm/brcmfmac43241b5-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
/usr/lib/firmware/brcm/brcmfmac43012-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4366c-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
/usr/lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac43340-sdio.meegopad-t08.txt
/usr/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4350c2-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43143-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43456-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4335-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4330-sdio.Prowise-PT301.txt
/usr/lib/firmware/brcm/brcmfmac43362-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4339-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43436-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43436-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4358-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4373.bin
/usr/lib/firmware/brcm/brcmfmac43241b0-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4329-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43569.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4330-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43143.bin
/usr/lib/modules/5.15.61-v8+/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac
/usr/lib/modules/5.15.61-v8+/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz
root@syncloud:~# find /lib -name "brcmfmac*"
root@syncloud:~#

On raspios-bullseye-arm64-lite image

pi@raspberrypi:~ $ modprobe brcmfmac
lsmod  | grep brcmfmac
uname -a
find /usr -name "brcmfmac*"
brcmfmac              335872  0
brcmutil               24576  1 brcmfmac
cfg80211              868352  1 brcmfmac
Linux raspberrypi 5.15.61-v8+ #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux
/usr/lib/firmware/brcm/brcmfmac43436s-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m3.txt
/usr/lib/firmware/brcm/brcmfmac43456-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4356-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac43430-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43242a.bin
/usr/lib/firmware/brcm/brcmfmac4371-pcie.bin
/usr/lib/firmware/brcm/brcmfmac4373.bin
/usr/lib/firmware/brcm/brcmfmac4354-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.AP6212.txt
/usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43570-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac4334-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4354-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43236b.bin
/usr/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-plus.txt
/usr/lib/firmware/brcm/brcmfmac43430a0-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-zero.txt
/usr/lib/firmware/brcm/brcmfmac4350-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43241b5-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.sinovoip,bpi-m2-ultra.txt
/usr/lib/firmware/brcm/brcmfmac43241b4-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43602-pcie.ap.bin
/usr/lib/firmware/brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
/usr/lib/firmware/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
/usr/lib/firmware/brcm/brcmfmac43012-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4329-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4356-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4356-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4356-sdio.vamrs,rock960.txt
/usr/lib/firmware/brcm/brcmfmac4356-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43455-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43362-sdio.lemaker,bananapro.txt
/usr/lib/firmware/brcm/brcmfmac43143-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt
/usr/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt
/usr/lib/firmware/brcm/brcmfmac43340-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4373-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43436-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
/usr/lib/firmware/brcm/brcmfmac4366b-pcie.bin
/usr/lib/firmware/brcm/brcmfmac54591-pcie.clm_blob
/usr/lib/firmware/brcm/brcmfmac43456-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43569.bin
/usr/lib/firmware/brcm/brcmfmac43340-sdio.meegopad-t08.txt
/usr/lib/firmware/brcm/brcmfmac43430-sdio.MUR1DX.txt
/usr/lib/firmware/brcm/brcmfmac43436s-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4358-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
/usr/lib/firmware/brcm/brcmfmac43012-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac43241b0-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43362-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt
/usr/lib/firmware/brcm/brcmfmac4330-sdio.Prowise-PT301.txt
/usr/lib/firmware/brcm/brcmfmac43143.bin
/usr/lib/firmware/brcm/brcmfmac4339-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43436-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac4373-sdio.bin
/usr/lib/firmware/brcm/brcmfmac4366c-pcie.bin
/usr/lib/firmware/brcm/brcmfmac4335-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt
/usr/lib/firmware/brcm/brcmfmac43436-sdio.txt
/usr/lib/firmware/brcm/brcmfmac43456-sdio.clm_blob
/usr/lib/firmware/brcm/brcmfmac54591-pcie.bin
/usr/lib/firmware/brcm/brcmfmac4350c2-pcie.bin
/usr/lib/firmware/brcm/brcmfmac4330-sdio.bin
/usr/lib/firmware/brcm/brcmfmac43570-pcie.bin
/usr/lib/firmware/brcm/brcmfmac43602-pcie.bin
/usr/lib/modules/5.15.61-v8+/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac
/usr/lib/modules/5.15.61-v8+/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz
pi@raspberrypi:~ $ find /lib -name "brcmfmac*"
pi@raspberrypi:~ $
martonaron commented 1 year ago

Strange you sent this from a working image in your last comment?

[ 5.732652] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

On 2022-09-06-raspios-bullseye-arm64-lite.img (https://downloads.raspberrypi.org/raspios_lite_arm64/images/raspios_lite_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64-lite.img.xz) - sorry, on this one workings the wlan0

dmesg | grep brcmf

[    6.817958] brcmfmac: F1 signature read @0x18000000=0x15264345
[    6.840707] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.841795] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
[    6.889043] usbcore: registered new interface driver brcmfmac
[    7.100639] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.100846] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.158653] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov  1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
[   10.395328] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled

dmesg | grep -i raspb


[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.5
[    0.112402] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-08-26T14:03:16, variant start
[    0.116423] raspberrypi-firmware soc:firmware: Firmware hash is 102f1e848393c2112206fadffaaf86db04e98326
[    2.519180] systemd[1]: Set hostname to <raspberrypi>.
[    6.841795] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2```
cyberb commented 1 year ago

rpi4 wants a firmware for 43455.

Official: firmware load error, works Syncloud: firmware load error, does not work

rpi3 wants firmware 43430.

Syncloud: firmware load error, works

cyberb commented 1 year ago

Probably some kernel boot flag is missing, you can compare:

cat /proc/cmdline

Or config file is missing in some dir we are not copying to syncloud image.

cyberb commented 1 year ago

Ok I think I found the problem, all the bins are links to /etc, like this one:

ls -lh /usr/lib/firmware/cypress/cyfmac43455-sdio.bin
lrwxrwxrwx 1 root root 38 Sep  6 21:37 /usr/lib/firmware/cypress/cyfmac43455-sdio.bin -> /etc/alternatives/cyfmac43455-sdio.bin

ls -la /etc/alternatives/cyfmac43455-sdio.bin
ls: cannot access '/etc/alternatives/cyfmac43455-sdio.bin': No such file or directory

Can you run this on a good image:

ls -la /etc/alternatives/cyfmac43455-sdio.bin
cyberb commented 1 year ago

Added more libs and will test myself a bit later, if you want to give it a go: https://github.com/syncloud/image/releases/download/latest/syncloud-raspberrypi-64-latest.img.xz

cyberb commented 1 year ago

with this image on RPi3 I needed to disable rfkill as well:

apt update
apt remove rfkill
apt install rfkill

rfkill

ID TYPE DEVICE    SOFT      HARD
 0 wlan phy0   blocked unblocked
rfkill unblock wifi
ifconfig wlan0 up
cyberb commented 1 year ago

released in 23.03