evidence · 2.8 KiB

usb-host-validation.md

Committed at docs/evidence/usb-host-validation.md. This is what grounds the requirements that cite it.

Open raw source

U-Boot host coexistence validation — 2026-09-22

The repaired candidate supports the onboard RTL8152 host and the J3 mass storage gadget in the same U-Boot session. This proves controller binding and device enumeration; no Ethernet packet test was performed.

uboot-usb-host-coexist-v2.txt records both DWC2 bindings, the Realtek USB tree before and after UMS, host enumeration as 29f1:0230, and the expected 249,872,384-sector card. Reading 380,911 bytes from its U-Boot slot produced SHA-256 4cb755ed0b0ac06fcccade582fcbc90f99ffb6f4c35cec65e3564804b5be6226, matching the source-built candidate. Linux returned; the separate usb-host-second-candidate-linux.txt confirms the stock shell is active, has no service drop-ins, and drives 568x1232 in the normal orientation.

That was the initial narrow trial: its installer changed only the U-Boot slot, and the slot-backup/recovery-image statements apply to that session’s board state only. They are historical evidence, not a claim about the board after later full-image flashing.

The repaired stage 1 was subsequently included in the source-built daily image. daily-shell-image.md identifies the exact image and stage-1 store paths, and declarative-final/image-flash.txt records the complete 2,308,689,920-byte image written through UMS at 12.7 MB/s, U-Boot reset, and return to the Linux login prompt with status 0. That transcript intentionally skipped a full readback, so it proves full-image boot and recovery to Linux, not byte-for-byte post-write verification.

The first candidate’s missing host remains recorded in uboot-usb-host-coexist.txt. The helper now reports a separate host verdict: a prompt alone cannot turn No working controllers found into a pass. Its parser checks each driver against its own controller address and uses status 4 for host failure after successful UMS and Linux recovery.

A further physical session using the updated helper is preserved in uboot-usb-host-verdict.txt: host checks passed before and after UMS, the card enumerated and its bootloader readback matched, Linux returned, and the final line reports both UMS and USB host PASS with exit status 0.

Checks on the integrated changes:

The existing Linux USB KFENCE warning remains unresolved; see usb-kfence-observation.md. BootROM recovery characterization still needs physical card/button/power operations. Neither limitation is hidden by this host coexistence result.