Initialize git-submodules for source repositories.
brcmfmac43456-sdio.bin
,brcmfmac43456-sdio.pine64,pinebook-pro.txt
,brcmfmac43456-sdio.txt
Binary blobs for control of brcmfmac combined WiFi/bluetooth module.brcmfmac43456-sdio.clm_blob
Some instructional blob used to enable wide bands for high-speed connections.BCM4345C5.hcd
: (bluetooth) firmware for combined WiFi/bluetooth module.
Firmware in directory lib-firmware-brcm-20201116
seems to perform well and is stable. Other users have noted that firmware lib-firmware-brcm-20200514
is newer (revision) although it contains an older Ucode Ver version.
This firmware seems to be for the Pinebook Pro adapter. It was found in some Raspberry Pi 400 forum post.
I have no more information about its authenticity, but version and device information match, the firmware loads, and the device functions.
Version-information: (strings
)
brcmfmac43456-sdio.bin
43455c5-roml/43455_sdio-pno-aoe-pktfilter-sr-pktctx-lpc-pwropt-txbf-wl11u-txpwr-wepso-linkstat-pwrstats-ndoe-tdls-mfp-ve-extsae-43455_ftrs-noclminc-ob
Version: 7.45.96 (r745790)
CRC: 301bcfe7
Date: Mon 2020-11-16 16:27:54 CST
Ucode Ver: 1043.20724
FWID: 01-99758c86
This firmware seems to be for the Pinebook Pro adapter. Raspberry Pi non-free firmware repository. Originally found as a proposed patch to kernel linux-firmware.git repository.
I have not used this firmware.
Version-information: (strings
)
brcmfmac43456-sdio.bin
43455c5-roml/43455_sdio-pno-aoe-pktfilter-pktctx-lpc-pwropt-43455_ftrs-mfp-noclminc-clm_min
Version: 7.84.17.1 (r871554)
CRC: 72494685
Date: Thu 2020-05-14 17:41:11 KST
Ucode Ver: 1043.20424
FWID: 01-3d9e1d87
This firmware was found in the Armbian linux-firmware.git repository. See git-submodules for exact revision.
I have not used this firmware.
Version-information: (strings
)
brcmfmac43456-sdio.bin
43455c5-roml/43455_sdio-pno-aoe-pktfilter-bcm_ftrs-ak-bcol-clm_4335_ss-sr-mchan-pktctx-lpc-pwropt-txbf-wl11u-wapi-txpwr-wepso-gscan-linkstat-pwrstats-proxd-ndoe-mfp-tdls-dhcpd-idauth-idsup-neeze-akiss-dfsctl-apcs-tka-wpf-gtr-noplmt-ak_disassoc-b5gctl-sdiorxenhance
Version: 7.45.96.61 (be7af2d@shgit) (r745790)
CRC: 279731d4
Date: Tue 2020-02-11 11:55:51 CST
Ucode Ver: 1043.20721
FWID: 01-a41d86bd
BCM4345C5.hcd
GBCM4345C5 Ampak_CL1 UART 37.4 MHz BT 5.0 [Version: Version: 0039.0089]
This firmware was found in the imx-firmware (coral) repository. See git-submodules for exact revision.
I have not used this firmware.
Version-information: (strings
)
brcmfmac43456-sdio.bin
43455c5-roml/43455_sdio-pno-aoe-pktfilter-bcm_ftrs-ak-bcol-clm_4335_ss-sr-mchan-pktctx-lpc-pwropt-txbf-wl11u-wapi-txpwr-wepso-gscan-linkstat-pwrstats-proxd-ndoe-mfp-tdls-dhcpd-idauth-idsup-neeze-akiss-dfsctl-apcs-tka-wpf-gtr-noplmt-ak_disassoc-b5gctl-sdiorxenhance
Version: 7.45.96.53 (5a84613@shgit) (r745790)
CRC: 3ae8a8e5
Date: Fri 2019-09-27 15:21:52 CST
Ucode Ver: 1043.20721
FWID: 01-54faa385
The original firmware.
This version of the firmware is known to crash. Additionally, current available drivers cannot successfully recover from firmware crashes. The newest drivers (kernel >= 5.12.y
) will attempt to perform a hardware reset. However, for some early failure cases on kernel with hardened memory management this results in double-free error.
Version-information: (strings
)
brcmfmac43456-sdio.bin
43455c5-roml/43455_sdio-43455_ftrs-bcm_ftrs-ag-pno-aoe-pktfilter-srfast-pktctx-lpc-pwropt-wapi-mfp-clm_4335_ss-txpwr-wepso-noccxaka-sarctrl-gscan-linkstat-pwrstats-ak-idauth-idsup-ndoe-mchan-wfds
Version: 7.45.96.0
CRC: 1d0e37c2
Date: Fri 2017-06-16 12:39:23 CST
Ucode Ver: 1043.2070
FWID: 01-1813af84
BCM4345C5.hcd
IBCM4345C5 Ampak_CL1.5 UART 37.4 MHz BT 5.0 [Version: Version: 0033.0080]
- INVESTIGATING the Pinebook Pro seems to have trouble restoring from standby/suspend. This may be a timing-related issue caused by
schedutil
governor. I have not yet been able to reproduce this issue while using theondemand
governor. INCORRECT it seems that Pinebook Pro cannot resume aftermemory
-type suspend(?). Disablingmem
, makingstandby
the default mode seems to solve this. The customsleep.conf
is no longer justified.[Sleep] AllowSuspend=yes AllowHibernation=no AllowSuspendThenHibernate=no AllowHybridSleep=no #SuspendMode= #SuspendState=mem standby freeze SuspendState=standby freeze
Twice-revised keyboard/touchpad-firmware. Original by ayufan-rock64, then adapted by JackHumbert, later adapted by dragan-simic.
Current revision has greatly reduced latency in touchpad control and good support for ISO and ANSI keyboards.
panfrost.conf
: soft-dependency configuration forpanfrost
ongovernor_simpleondemand
, which seems to be unidentified during early boot process. With this configuration,panfrost
will repeatedly fail to initialize, delaying/failing to the point where the OS boots up without the necessar support.brcmfmac.conf
: turn off hardware roaming support. (NOTE not sure this makes a difference as this was an attempt among many to improve wifi stability.)
- SPI flash-image to write
tow-boot
opinionated u-boot image to the Pinebook Pro SPI flash. - Confirmed working images:
pine64-pinebookPro-2021.04-002.tar.xz
: flashed into empty/erased SPI-flash module.pine64-pinebookPro-2021.10-003.tar.xz
: flashed over SPI-flash memory containing version2021.04-002
. (Not that that should prove to be a significant difference.)
Installing Tow-Boot to the SPI flash ensures the Pinebook Pro firmware is available regardless of the contents of the eMMC module, NVMe drive or SD-card.
- Debian Bullseye 11u1 arm64 generic:
debian-bullseye-11u1-arm64-generic.img.xz
- firmware.none.img.gz
- partition.img.gz
zcat firmware.none.img.gz partition.img.gz | xz -z > debian-bullseye-11u1-arm64-generic.img.xz
- Make sure u-boot firmware is installed to SPI-flash.
- Note: u-boot expects the first partition according to the MBR/GPT partition table to contain boot information.
- u-boot generally supports
FAT32
andext2/3/4
file systems.
- Boot SD-card image. (generic AARCH64 Debian installer image for SD-cards, without firmware prefix)
- Perform Debian Bullseye installation. Before rebooting into the newly installed system:
- chroot into target filesystem.
- Remove
flash-kernel
package. (Package responsible for producingboot.scr
bootscript file compositions.) - Install
u-boot-menu
(extlinux) and runu-boot-update
to create/updateextlinux/extlinux.conf
file with all kernels to choose from. As the u-boot firmware supports extlinux. - Check for available firmware for broadcom (
brcmfmac43456-sdio
) and rockchip (rk3399
). Also notelib-firmware/brcm
in repo. - Install
modprobe.d/panfrost.conf
andmodprobe.d/brcmfmac.conf
files into/etc/modprobe.d
and runupdate-initramfs -u -k all
.
- No sound:
alsamixer
provides many controls for precise configuration of the audio device.- check
dmesg
for sound card, and/sys/devices/platform/es8316-sound/sound/card0/input*
with*
an arbitrary number, to check if at least one input is available.input: rockchip,es8316-codec Headphones as /devices/platform/es8316-sound/sound/card0/input8
- run
alsamixer
and select actual device. Then check if following channels are open:Left Headphone Mixer LLIN
,Left Headphone Mixer Left DAC
,Right Headphone Mixer RLIN
,Right Headphone Mixer Right DAC
, and check neighboring options just in case.
- After suspend, module
brcmfmac
might need to be reloaded, as it will exhibit significant packet loss.
sudo modprobe -rv brcmfmac && sudo modprobe -v brcmfmac
NOTE from what I understand of the kernel commit log, this is an issue that is caused by early driver versions not correctly responding to certain WiFi packets while in standby. This should be fixed for later kernel versions. - There exists a bug in the firmware, i.e. the binary blob, so currently trying with
roamoff=1
module parameter and.clm_blob
file present.
See directoryissues
for more notes and details on a kernel module crash due to double freeing memory after hardware reset as result of firmware crash.
NOTE early versions of thebrcmfmac
driver do not hardware-reset the device in case of firmware faiilure. Later firmware versions and kernel versions> 5.12
should fix this.