Firmware Update for PC Engines APU.1D4
OS: OPNsense 19.1.4-amd64
pkg install -y flashrom
Login with SSH and fetch latest Firmware ROM from https:pcengines.github.io/. Write the ROM. First try without using boardmismatch=force
and only use this switch if you get an error and you are sure that you are using a compatible ROM.
<sxh bash>
root@gw:~ # flashrom -p internal:boardmismatch=force -w apu1_v4.9.0.3.rom -c “MX25L1605A/MX25L1606E/MX25L1608E”
flashrom v1.0 on FreeBSD 11.2-RELEASE-p9-HBSD (amd64)
flashrom is free software, get the source code at https://flashrom.org
Using clock_gettime for delay loops (clk_id: 4, resolution: 70ns).
coreboot table found at 0xdffdf000.
Found chipset “AMD SB7x0/SB8x0/SB9x0”.
Enabling flash write… OK.
Found Macronix flash chip “MX25L1605A/MX25L1606E/MX25L1608E” (2048 kB, SPI) mapped at physical address 0x00000000ffe00000.
This coreboot image (PC Engines:apu1) does not appear to
be correct for the detected mainboard (PC Engines:APU).
Proceeding anyway because user forced us to.
Reading old flash chip contents… done.
Erasing and writing flash chip… Erase/write done.
Verifying flash… VERIFIED.</sxh>
Reboot and verify the update.
<sxh bash>
diff dmidecode.txt dmidecode_new.txt
…
10,11c10,11
< Version: SageBios_PCEngines_APU-45
< Release Date: 04/05/2014
—
> Version: v4.9.0.3
> Release Date: 03/08/2019
20c20
< BIOS Revision: 4.0
—
> BIOS Revision: 4.9
26c26
< Product Name: APU
—
> Product Name: apu1
…
</sxh>
==== Other sources ====
https://l33tsource.com/blog/2019/05/27/apu-bios-upgrade/