ESXi-Arm on Pi 4 and Pi 400 – an update

When we launched the ESXi-Arm Fling, both the 4GiB and 8GiB Raspberry Pies 4B variants were supported. However, as time went on, we’ve started noticing more and more issues being opened for seemingly broken USB. Usually, the problems were reported for the 4GiB boards. A few things were at play here.

Without getting into the details, we knew that the Pi 400 and CM4 variants, when released would not support the Raspberry Pi 4 SystemReady ES UEFI out of the box, because of SoC revision and VPU firmware changes that affected how UEFI was using the USB controller over PCIe. However, what ended up catching us off-guard is that newer Pi 4B boards started “silently” getting revved up with the newer silicon. It didn’t matter at first, because the VPU firmware (“official” Raspberry firmware that draws the rainbow-colored screen) changes retained the old behavior around PCIe/USB initialization, but at some point UEFI stopped working with new VPU firmware releases.

This also wasn’t a problem by itself – newer UEFI releases were simply using a particular last-known-good release of the VPU firmware, while the community was sorting out how to address the incompatibility. It became a problem because of the way we worded the Fling instructions were worded – they suggested to mix the UEFI release with the latest VPU firmware bits. This meant that the UEFI bits were used with the incompatible VPU firmware, and would manifest itself as USB key or keyboard not being visible/usable.

Okay, that was a lot, but are there some good news? Yes. As of Raspberry Pi 4 UEFI Firmware v1.23, all USB issues with the Pi 4 should be solved. And what’s even better, the Pi 400 is now supported. Note that CM4 boards are not yet supported at this time with ESXi-Arm Fling.