Skip to content

Provenance: how close the rebuild is to the factory firmware

The board ships with no published, editable firmware source; this repository reconstructs it from public sources. This page states what is claimed about that reconstruction, the evidence, and how to check it yourself.

Check it yourself

The commands: compare with the factory firmware. They check that the card runs what you built, diff a factory devicetree.dtb against yours (only gpio-line-names (0008) and adi,tx-attenuation-mdB (0011) should differ), and read the running kernel's configuration from /proc/config.gz, to compare between a factory board and your build. More in firmware/README.md and Verify your build is actually running.

What is claimed

claim evidence
firmware/ this is the factory firmware, rebuilt byte-identical .dtb (before 0008/0011), the IKCONFIG .config from the factory uImage, a file-by-file comparison with a real unit
firmware-modern/ this behaves as the factory firmware, on a current kernel the IIO attribute list diffed against 5.15 (nine lines differ, each explained in modern-kernel.md), the nine safety patches tested on hardware, and ./devkit selftest --loopback: 32 passed, 0 failed

firmware/ compared file by file with a real factory unit's SD card:

File Result
devicetree.dtb patch 0002 recompiles byte for byte to the factory file. Two later patches change it on purpose: 0008 (GPIO line names) and 0011 (probe-time transmit attenuation)
uEnv.txt the same content; only the order U-Boot dumps its variables in differs
root filesystem the same file list
kernel .config identical to the one extracted from the factory uImage
uImage, U-Boot within a few hundred bytes of the originals, not identical: upstream's history was squashed after this board's firmware was built, so some source cannot be recovered

firmware-modern/ claims the same behaviour, not the same bytes: its device tree is an overlay on ADI's .dtsi, so byte-identity is impossible by construction. The bitstream, block design, BOOT.bin and U-Boot are shared by both targets. The patch list explains each change, including two upstream bugs.

Sources