batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
2.05k stars 528 forks source link

Raspberry Pi 4 Model B - Wi-Fi not work #13029

Open rseleven opened 3 days ago

rseleven commented 3 days ago

Batocera build version

40-20240802

Your architecture

Raspberry Pi 4 Model B

Your Graphic Processor Unit(s) (GPU)

integrated

Issue description

The following setting is applied in the /userdata/system/batocera.conf file: "wifi.country=RU". And I set up the connection to the access point through the UI.

As a result, the WI-FI connection does not work.

Without changing "wifi.country", the connection to my access point does not work either.

In dmesg, such messages are: [ 119.520547] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting [ 123.038692] brcmfmac: brcmf_set_channel: set chanspec 0x100c fail, reason -52 [ 123.039116] brcmfmac: brcmf_set_channel: set chanspec 0x100d fail, reason -52 [ 123.039399] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52

Detailed reproduction steps

In my case, the Wi-Fi connection doesn't work at all.

Details of any attempts to fix this yourself

To solve the problem, I replaced the Device Tree and Firmware files. I took them from "2024-11-19-raspios-bookworm-arm64-lite.img":

  1. /boot/bcm2711-rpi-4-b.dtb
  2. /lib/firmware/brcm/*
  3. /lib/firmware/cypress/*
  4. /lib/firmware/synaptics/*

Details of any modifications you have made to Batocera.

-//-

Logs and data

[ 119.520547] ieee80211 phy0: brcmf_cfg80211_reg_notifier: Firmware rejected country setting [ 123.038692] brcmfmac: brcmf_set_channel: set chanspec 0x100c fail, reason -52 [ 123.039116] brcmfmac: brcmf_set_channel: set chanspec 0x100d fail, reason -52 [ 123.039399] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52

rseleven commented 2 days ago

I will add that WPA3 is used.

dmanlfc commented 15 hours ago

this is a known firmware limitation with rpi's currently. v41 unfortunately does not fix it. it will be the cypress firmware, can you pinpoint which file we need to look at updating?

rseleven commented 7 hours ago

Boot log from batocera.linux 40 20240802:

[    5.875793] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
...
[    6.122412] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov  1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60

Firmware from batocera.linux 40 20240802:

lrwxrwxrwx 1 root root     31 авг  2 07:28 brcmfmac43455-sdio.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx 1 root root     36 авг  2 07:28 brcmfmac43455-sdio.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
-rw-r--r-- 1 root root 637406 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin
-rw-r--r-- 1 root root   2676 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob
lrwxrwxrwx 1 root root     49 авг  2 07:28 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -> brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
-rw-r--r-- 1 root root 637406 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin
-rw-r--r-- 1 root root   2676 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob
lrwxrwxrwx 1 root root     22 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -> brcmfmac43455-sdio.txt
-rw-r--r-- 1 root root 637406 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,4-compute-module.bin
-rw-r--r-- 1 root root   2676 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob
lrwxrwxrwx 1 root root     44 авг  2 07:28 brcmfmac43455-sdio.raspberrypi,4-compute-module.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
-rw-r--r-- 1 root root 637406 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,4-model-b.bin
-rw-r--r-- 1 root root   2676 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob
lrwxrwxrwx 1 root root     22 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,4-model-b.txt -> brcmfmac43455-sdio.txt
-rw-r--r-- 1 root root 637406 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,5-model-b.bin
-rw-r--r-- 1 root root   2676 авг  2 00:48 brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob
lrwxrwxrwx 1 root root     44 авг  2 07:28 brcmfmac43455-sdio.raspberrypi,5-model-b.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
lrwxrwxrwx 1 root root     44 авг  2 07:28 brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi 4 Model B.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
lrwxrwxrwx 1 root root     44 авг  2 07:28 brcmfmac43455-sdio.Raspberry Pi Foundation-Raspberry Pi Compute Module 4.txt -> brcmfmac43455-sdio.raspberrypi,4-model-b.txt
-rw-r--r-- 1 root root   2074 авг  2 00:48 brcmfmac43455-sdio.txt

Boot log from Raspberry Pi OS 2024-11-19:

[   19.282697] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
...
[   19.593508] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

Firmware from Raspberry Pi OS 2024-11-19:

-rw-r--r--  1 root root    1475 авг 10 08:08 brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,pinebook-pro.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,pinenote-v1.1.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,pinenote-v1.2.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,pinephone-pro.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,quartz64-a.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,quartz64-b.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,rockpro64-v2.0.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,rockpro64-v2.1.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,soquartz-blade.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,soquartz-cm4io.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      33 авг 10 08:08 brcmfmac43455-sdio.pine64,soquartz-model-a.txt -> brcmfmac43455-sdio.AW-CM256SM.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      22 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-a-plus.txt -> brcmfmac43455-sdio.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      22 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -> brcmfmac43455-sdio.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-compute-module.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-compute-module.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      22 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-compute-module.txt -> brcmfmac43455-sdio.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-model-b.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-model-b.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      22 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,4-model-b.txt -> brcmfmac43455-sdio.txt
lrwxrwxrwx  1 root root      31 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,5-model-b.bin -> ../cypress/cyfmac43455-sdio.bin
lrwxrwxrwx  1 root root      36 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,5-model-b.clm_blob -> ../cypress/cyfmac43455-sdio.clm_blob
lrwxrwxrwx  1 root root      22 авг 10 08:08 brcmfmac43455-sdio.raspberrypi,5-model-b.txt -> brcmfmac43455-sdio.txt
-rw-r--r--  1 root root    2074 авг 10 08:08 brcmfmac43455-sdio.txt
rseleven commented 7 hours ago

@dmanlfc I also replaced the Device Tree. Without this, "wifi.country" does not apply.