pfsense
pfsense copied to clipboard
Expand detection of PC Engines APU2 platform to include all variants
Fixes #13498 in Redmine.
This fixes a problem with garbled serial console output in the bootloader that was originally described in PR #3268, but that fix is not getting applied to the newer hardware variants because the platform detection code needs to be updated.
The PC Engines naming conventions are a little confusing here. The motherboard platform is identified as "APU2" (though sometimes it also appears in lowercase), but within this platform there are hardware variants such as "apu4", "apu6", and even "apu2". For example, one can be the owner of an apu4 APU2, if you can believe it.
The detection code reads the DMI data of the product name from the SMBIOS. Historically, that value has been apu2
, then it was APU2
for a little while, then it changed back to apu2
. As the newer variants have been released, they have reported values such as apu3
, apu4
, etc. The APU2 platform uses coreboot for its firmware, so luckily we can see the source code for the current list of reported SMBIOS values. See here and here.
This pull request adds support for all of the variants currently listed in the firmware, plus leaves intact the historical APU2
value for those who might still be on a much older BIOS version.
I currently have physical access to an apu4 variant. I tested this patch against that hardware, and it fixes the problem with the garbled serial console output on this unit, plus the pfSense dashboard now shows the system as "PC Engines APU2" as I would expect instead of the generic "pfSense".
- [X] Redmine Issue: https://redmine.pfsense.org/issues/13498
- [X] Ready for review