# USB enumeration recovery controller deployment

Status: complete
Result: complete; historical recovery deployment evidence
Type: evidence
Updated: 2026-08-01
Next Action: none; target recovery proof and the current broad baseline are complete
Campaign: 003-complete-bounded-hpt-slow-export-firmware-ticket
Final Evidence: work/evidence/usb-enumeration-deterministic-v2-target-proof-20260801.md

Project Map: work/maps/map-smi-firmware-stabilization-and-qualification.md
Workpackage: work/wp/completed/wp-restore-broad-usb-compatibility-baseline.md
Checklist: work/checklists/checklist-stage-1b-four-drive-usb-compatibility-baseline.md
Software Evidence: work/evidence/usb-enumeration-recovery-software-candidate-20260731.md

## Authorized candidate

- Owner authorization covers serial-bound controller programming.
- Firmware source commit: `29fcaa11`.
- Software/evidence checkpoint: `b21dc67b`.
- Release ELF SHA-256:
  `6E89C5664D3B4F7FDBAC1910BA826D5049934E895D9CDE28A60DF0F520766205`.
- Release S-record SHA-256:
  `E31845E8EA8993B7271F2123E8830113213FE954968B2CA133BE1FF0B217B888`.
- Expanded 4 MiB internal-flash SHA-256:
  `9CAF4ED22E2E7E06B900D6098D110650DB8987A2DE629783CE91AD43D9D3AEF2`.

Deployment used the explicit frozen artifacts under
`work/evidence/generated/usb-enumeration-recovery-candidate-20260731/`.
Tracked build outputs were not substituted.

## Pre-deploy baseline

Controller B was captured first with no USB drive attached. `USB03_32G` was
then moved from Controller A to the Raspberry Pi and confirmed unmounted
before Controller A was captured. Both complete pre-deploy readbacks matched
the previously deployed diagnostic candidate:

| Controller | Assembly | J-Link | Prior flash SHA-256 | Prior candidate match |
| --- | --- | --- | --- | --- |
| B | `1751219` | `69660123` | `957B856F13217DE4C34AD210798D8CB29490D9F93D3D1B5255C2A8E84E3DCA6B` | PASS |
| A | `1751136` | `69664082` | `957B856F13217DE4C34AD210798D8CB29490D9F93D3D1B5255C2A8E84E3DCA6B` | PASS |

Both pre-deploy captures reported no USB attachment, HCD operational state,
no retained root device, zero USBX/application/system errors, HPT ready, and
valid controller-specific SD identity and representative-sector state.

## Serial-bound deployment and readback

Controller B was programmed and J-Link verified first. Its independent full
readback matched the expanded candidate before Controller A was touched.
Controller A then passed the same program/verify and independent readback
sequence.

| Controller | Hardware variant | Program/verify | Full readback SHA-256 | S-record match |
| --- | ---: | --- | --- | --- |
| B | 1 | PASS | `9CAF4ED22E2E7E06B900D6098D110650DB8987A2DE629783CE91AD43D9D3AEF2` | PASS |
| A | 0 | PASS | `9CAF4ED22E2E7E06B900D6098D110650DB8987A2DE629783CE91AD43D9D3AEF2` | PASS |

## Post-reboot controller and SD identity

| Gate | Controller A | Controller B |
| --- | --- | --- |
| Complete raw CID | `035344535330384780976F0084018559` | `035344535330384780976F0085018507` |
| CID available / driver status | `1 / 0` | `1 / 0` |
| MID / OEM / product | `03 / SD / SS08G` | `03 / SD / SS08G` |
| Revision / serial | `8.0 / 2540634244` | `8.0 / 2540634245` |
| Manufacturing date | `2024-05`, valid | `2024-05`, valid |
| SD state / CID-valid / sector read | `5 / 1 / 1` | `5 / 1 / 1` |
| HPT state / status / SSP status | `5 / 0 / 0` | `5 / 0 / 0` |
| Hardware variant | `0` | `1` |
| System / USB application errors | `0 / 0` | `0 / 0` |
| USB mounted / physically attached | `0 / 0` | `0 / 0` |
| HCD status / connection / devices | `2 / 0 / 0` | `2 / 0 / 0` |
| USBX system errors / last error | `0 / 0` | `0 / 0` |
| Enumeration recovery state / attempts | `0 / 0` | `0 / 0` |

No SD card was removed or inserted. Programming reset each controller, so the
post-reboot CID and representative-sector state are fresh identity evidence.
The zero recovery-attempt count is the expected no-drive baseline.

## Evidence locations

- `work/evidence/hpt-log-store-circular-mirror/controller-b/usb-enumeration-recovery-deployment-20260731/pre-deploy/`
- `work/evidence/hpt-log-store-circular-mirror/controller-b/usb-enumeration-recovery-deployment-20260731/post-deploy/`
- `work/evidence/hpt-log-store-circular-mirror/controller-a/usb-enumeration-recovery-deployment-20260801/pre-deploy/`
- `work/evidence/hpt-log-store-circular-mirror/controller-a/usb-enumeration-recovery-deployment-20260801/post-deploy/`

The raw directories are intentionally ignored. This summary is the versioned
deployment manifest. Target recovery remains unproven until a final
enumeration failure actually triggers the bounded retry.
