diff options
author | Stijn Tintel <stijn@linux-ipv6.be> | 2021-11-01 23:39:48 +0200 |
---|---|---|
committer | Stijn Tintel <stijn@linux-ipv6.be> | 2022-07-01 12:56:56 +0300 |
commit | e9f9cd14cc71826957877999fd063dd080de4751 (patch) | |
tree | acd64bb70227ff770114188f17f844c892920a47 | |
parent | a5526efde0c4a5c0a94fc2e7f6bcecd844148408 (diff) | |
download | upstream-e9f9cd14cc71826957877999fd063dd080de4751.tar.gz upstream-e9f9cd14cc71826957877999fd063dd080de4751.tar.bz2 upstream-e9f9cd14cc71826957877999fd063dd080de4751.zip |
bcm27xx: add support for Raspberry Pi Zero 2
Due to licensing uncertainty, we do not include the firmwares for the
wireless chips used in the Raspberry Pi Zero 2 W. To have working
wireless, follow the instructions below.
For people building their own images:
mkdir -p files/lib/firmware/brcm
wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436-sdio.bin
wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436-sdio.txt
wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436s-sdio.bin
wget -P files/lib/firmware/brcm/ https://github.com/RPi-Distro/firmware-nonfree/raw/bullseye/debian/config/brcm80211/brcm/brcmfmac43436s-sdio.txt
Now build the OpenWrt image as usual, and it will include the firmware
files in the correct location.
For people using ext4 images:
Write the ext4 image to the sdcard, then mount the 2nd partition and put
the firmware files from the links above in /lib/firmware/brcm relative
from the mount point where the partition is mounted.
For people using squashfs images:
Write the squashfs image to the sdcard, place it in the Raspberry Pi
Zero 2 W, boot it and wait for the overlay filesystem to be created.
Find the offset of the overlay filesystem in sysfs:
# cat /sys/devices/virtual/block/loop0/loop/offset
25755648
Shut down the device, unplug the power and move the SD card to a Linux
computer. Mount the 2nd partition of the sdcard as a loop device with
the offset found earlier.
sudo mount /dev/sdh2 -o loop,offset=25755648 /mnt/temp
Put the firmware files from the links above in /upper/lib/firmware/brcm
relative to the mount point where the loop device is mounted.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Tested-by: Peter van Dijk <peter@7bits.nl>
-rw-r--r-- | target/linux/bcm27xx/base-files/etc/board.d/02_network | 1 | ||||
-rw-r--r-- | target/linux/bcm27xx/base-files/etc/diag.sh | 1 | ||||
-rw-r--r-- | target/linux/bcm27xx/image/Makefile | 16 |
3 files changed, 12 insertions, 6 deletions
diff --git a/target/linux/bcm27xx/base-files/etc/board.d/02_network b/target/linux/bcm27xx/base-files/etc/board.d/02_network index b4394f6922..23bc9afdb9 100644 --- a/target/linux/bcm27xx/base-files/etc/board.d/02_network +++ b/target/linux/bcm27xx/base-files/etc/board.d/02_network @@ -23,6 +23,7 @@ raspberrypi,model-b-rev2) ucidef_set_interface_lan "eth0" ;; +raspberrypi,model-zero-2 |\ raspberrypi,model-zero-w) ucidef_set_interface_lan "wlan0" ;; diff --git a/target/linux/bcm27xx/base-files/etc/diag.sh b/target/linux/bcm27xx/base-files/etc/diag.sh index a22ffd3f2a..180b31ec95 100644 --- a/target/linux/bcm27xx/base-files/etc/diag.sh +++ b/target/linux/bcm27xx/base-files/etc/diag.sh @@ -20,6 +20,7 @@ set_state() { raspberrypi,3-compute-module |\ raspberrypi,model-b |\ raspberrypi,model-zero |\ + raspberrypi,model-zero-2 |\ raspberrypi,model-zero-w) status_led="led0" ;; diff --git a/target/linux/bcm27xx/image/Makefile b/target/linux/bcm27xx/image/Makefile index 83d255f326..4cd1052941 100644 --- a/target/linux/bcm27xx/image/Makefile +++ b/target/linux/bcm27xx/image/Makefile @@ -96,13 +96,15 @@ define Device/rpi-2 bcm2709-rpi-2-b bcm2710-rpi-2-b \ bcm2710-rpi-3-b bcm2710-rpi-3-b-plus \ bcm2711-rpi-4-b bcm2711-rpi-400 \ - bcm2710-rpi-cm3 bcm2711-rpi-cm4 + bcm2710-rpi-cm3 bcm2711-rpi-cm4 \ + bcm2710-rpi-zero-2 SUPPORTED_DEVICES := \ - rpi-2-b rpi-3-b rpi-3-b-plus rpi-cm \ + rpi-2-b rpi-3-b rpi-3-b-plus rpi-cm rpi-zero-2 \ raspberrypi,2-model-b raspberrypi,2-model-b-rev2 \ raspberrypi,3-model-b raspberrypi,3-model-b-plus \ raspberrypi,3-compute-module raspberrypi,compute-module-3 \ - raspberrypi,400 raspberrypi,4-compute-module raspberrypi,4-model-b + raspberrypi,400 raspberrypi,4-compute-module raspberrypi,4-model-b \ + raspberrypi,model-zero-2 DEVICE_PACKAGES := \ cypress-firmware-43430-sdio \ cypress-nvram-43430-sdio-rpi-3b \ @@ -126,12 +128,14 @@ define Device/rpi-3 DEVICE_DTS := \ broadcom/bcm2710-rpi-2-b \ broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \ - broadcom/bcm2710-rpi-cm3 + broadcom/bcm2710-rpi-cm3 \ + broadcom/bcm2710-rpi-zero-2 SUPPORTED_DEVICES := \ - rpi-3-b rpi-3-b-plus \ + rpi-3-b rpi-3-b-plus rpi-zero-2 \ raspberrypi,2-model-b-rev2 \ raspberrypi,3-model-b raspberrypi,3-model-b-plus \ - raspberrypi,3-compute-module raspberrypi,compute-module-3 + raspberrypi,3-compute-module raspberrypi,compute-module-3 \ + raspberrypi,model-zero-2 DEVICE_PACKAGES := \ cypress-firmware-43430-sdio \ cypress-nvram-43430-sdio-rpi-3b \ |