# USB03/USB04 controller sanity check

Status: complete
Type: evidence
Updated: 2026-08-01
Next Action: none; retain as historical specimen evidence, with its specimen dispositions superseded by the standards-led broad baseline
Parent: work/tickets/ticket-investigate-usb-drive-enumeration-and-post-save-workflow-compatibility.md

## Scope

Sanity comparison using two previously working specimens with the accepted
32 KiB Debug image:

- Controller A: `USB03_32G`, serial `071C49DE25C08808`
- Controller B: `USB04_32G`, serial `071C49DE246A1F97`
- Debug S-record SHA-256:
  `157DC86B781FCE23B9D8F048B3F4F8C7524FFCBF0029E001310282338BDF1DFB`

## Results

| Workflow | A / `USB03_32G` | B / `USB04_32G` |
| --- | --- | --- |
| Enumeration and WAV visibility | pass | pass |
| WAV load/playback | pass | pass |
| Image save and durability | pass; 8,388,864 bytes, 257 calls, 32 KiB maximum | pass; 8,388,864 bytes, 257 calls, 32 KiB maximum |
| PID capture and durability | pass; 225/225 bytes | pass; 225/225 bytes |
| HPT export | pass; 5,723 records, no gaps, 287,985 bytes, 9 calls | pass; 5,706 records, no gaps, 287,028 bytes, 9 calls |
| Self-update | pass; pre/post 4 MiB flash SHA-256 unchanged at `06403B162B3B5C33E7F47B1A66AEAEEB1F60BAA2009E9893C8A00D4F3F46F728` | inconclusive; image selector did not refresh |
| System errors | zero | zero |
| Pi validation | exact image/PID hashes and matching `COMPLETE` trailer | exact image/PID hashes and matching `COMPLETE` trailer |

The saved image SHA-256 on both specimens was
`F471A5E4A0FB86BC408883458F9532C22EF3278E1DE7B2D97707060241A656DA`.
The PID SHA-256 on both was
`6BCB89F2EFACC503B950EF00151A51AF8353C40B53781110C14DDC441737FC3A`.

Run outputs were archived under
`/home/jong/usb-backups/20260729/sanity-usb03-usb04/`.

## Post-run media state

Only files created by this sanity run were removed. `USB03_32G` retained its
pre-existing image and historical evidence; `USB04_32G` retained its
historical evidence. Both were left unmounted.

The initial non-repairing FAT checks reproduced the historical free-cluster
summary differences: two clusters on `USB03_32G` and eight on `USB04_32G`.
Normal writable deletion of the newly created output files updated each FAT32
FSInfo free-count field, and the post-cleanup non-repairing checks no longer
reported those differences. No FAT repair command was run.
