I just got a RPI Zero 2 W and I wanted to install Alpine on it. Since the Zero 2 is 64-bit capable, I wanted the aarch64 version. I started with the official tarball and the instructions on the Wiki, but swiftly ran into problems.
The first problem is that the config.txt doesn't have an entry for the pi 0, but I am given to understand that it can use the same kernel and initramfs as the pi 3, so I just copied those settings over, and it booted just fine. But it didn't have any networking hardware detected.
I've attached a dmesg log; it seems there's an issue loading the driver for the Broadcom Wifi/Bluetooth chip:
[ 14.720037] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436-sdio for chip BCM43430/2[ 14.720570] usbcore: registered new interface driver brcmfmac[ 14.725089] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 14.725566] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436-sdio.bin failed with error -2[ 14.725639] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430b0-sdio for chip BCM43430/2[ 14.726063] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 14.726447] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.bin failed with error -2[ 15.733709] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
This seems similar to #11408 (closed) so I tried copying the brcmfmac43430-sdio.raspberrypi,3-model-b.txt file to firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt on my boot partition, but this did not solve the issue, and at this point I'm stumped.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
Struggling with the same thing. I did find the following information posted by Jeff Geerling [0]:
"the actual chip used here is the SYN43436, made by Synaptics. It's very close to the BCM43438 used in the 3 model B and Zero W, but it does require dedicated firmware [1]"
Renamed to be board specific and set ccode=X2: brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin brcmfmac43436-sdio.raspberrypi,model-zero-2-w.clm_blob brcmfmac43436-sdio.raspberrypi,model-zero-2-w.txt
It certainly looks ugly, but as Synaptics does not seem to push its 43436 derivative firmware upstream (see note), that's probably the way forward... @ncopa@mps may have other thoughts?
Not sure what's the status but WiFi worked without any issue for me using alpine-rpi-3.15.0-aarch64.tar.gz. After that I did update to edge but since I upgraded using WiFi, it must have worked already with 3.15.0.
[ 0.000000] Linux version 5.15.4-0-rpi (buildozer@build-3-15-aarch64) (gcc (Alpine 10.3.1_git20211027) 10.3.1 20211027, GNU ld (GNU Binutils) 2.37) #1-Alpine SMP PREEMPT Mon Nov 22 09:13:17 UTC 2021...[ 22.506134] cfg80211: Loading compiled-in X.509 certificates for regulatory database[ 22.769126] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'[ 22.917199] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/1[ 22.917689] usbcore: registered new interface driver brcmfmac[ 22.921911] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 22.922421] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436s-sdio.bin failed with error -2[ 22.922470] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 22.922850] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 23.269088] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 23.271155] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 23.276061] Bluetooth: hci0: BCM43438A1 37.4MHz Raspberry Pi 3-0141[ 23.276107] Bluetooth: hci0: BCM43430A1 (001.002.009) build 0508[ 23.280146] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Mar 30 2021 01:12:21 version 7.45.98.118 (7d96287 CY) FWID 01-32059766[ 25.456421] NET: Registered PF_PACKET protocol family[ 25.668680] NET: Registered PF_INET6 protocol family[ 25.671257] Segment Routing with IPv6[ 25.671324] In-situ OAM (IOAM) with IPv6[ 25.712509] tun: Universal TUN/TAP device driver, 1.6[ 27.505755] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled[ 28.888637] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready[ 35.079836] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save disabled
Bluetooth also worked just like with original Zero W.
For what it's worth I had to make it bootable by first adding this to config.txt as there wasn't block for Zero 2 W.
I tested alpine-rpi-3.15.0-armhf.tar.gz too and it also works after my config.txt change in !31953 (merged) . Not sure what problem you have with WiFi - are there different revisions of Zero 2 W ? Do note that Zero 2 W only has 2.4 GHz WiFi, not 5 GHz.
[ 14.720037] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436-sdio for chip BCM43430/2[ 14.720570] usbcore: registered new interface driver brcmfmac[ 14.725089] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 14.725566] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436-sdio.bin failed with error -2[ 14.725639] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430b0-sdio for chip BCM43430/2[ 14.726063] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 14.726447] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430b0-sdio.bin failed with error -2
vs
[ 22.917199] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/1[ 22.917689] usbcore: registered new interface driver brcmfmac[ 22.921911] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436s-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 22.922421] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43436s-sdio.bin failed with error -2[ 22.922470] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 22.922850] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 23.269088] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 23.271155] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1
Yes, there are different revisions. @joneskoo has a Raspberry Pi Zero 2 W with a different WiFi chipset than my Raspberry Pi Zero 2 W has, for example.
Oh yes, that's what I did to get the dmesg in the original ticket. (I subsequently built a custom image in order to get the firmware to actually work.)
As a workaround (until missing firmware files are added into linux-firmware package & default releases modloop) if you are in diskless mode and don't want to rebuild modloop with update-kernel to include missing firmware files, you could add a persistent storage overlayfs with a lower dir in /lib/firmware/brcm which would contain the missing brcmfmac43436* files.
I have Machine model: Raspberry Pi Zero 2 W Rev 1.0.
On Alpine Linux 3.15.1 I get brcmfmac43436s-sdio, and in gokrazy brcmfmac43430-sdio.
gokrazy
[ 38.584804] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 38.594067] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.bin failed with error -2[ 38.915752] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.raspberrypi,model-zero-2-w.txt failed with error -2[ 39.120984] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43430-sdio for chip BCM43430/1[ 39.148509] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM43430/1 wl0: Mar 30 2021 01:12:21 version 7.45.98.118 (7d96287 CY) FWID 01-32059766
alpine 3.15.1 aarch64 rpi
(edit config.txt to add pi02, setup-interfaces; no other action needed).
localhost:"# dmesg|grep brcm15.148790] brcmfmac: brcm_fw_alloc_request: using brcm/brcmfmac43436s-sdio for chip BCM43430/115.1492621 usbcore: registered new interface driver brcmfmac15.1562461 brcmfmac mmc1:0001:1 : Direct firmware load for brcm/brcmfmac43436s-sdio.raspberrypi,nodel-zero-2-u.bin failed with error -215.1569321 brcmfmac mmc1:0001:1 : Direct firmuare load for brcm/brcmfmac43436s-sdio.bin failed with error -215.1569861 brcmfmac: bromf_fu_al loc_request: using bren/bronfnac43430-sdio for chip BOM43430/115.496738] brcmfmac: bremf _fu alloc request: using brcm/bremfmac43430-sdio for chip BCM43430/115.5053411 brcmfmac: bremf_c preinit_dends: Firnuare: BCM43430/1 wl0: Mar 30 2021 01:12:21 version 7.45.98.118 (7496287 CY) FUID 01-3205976637.5339341 brcmfmac: bromf_cfg80211 _set pouer_mgmt: pover save enabled