# USB session-recovery round 1: USB02 and USB03

Status: complete
Type: evidence
Updated: 2026-08-01
Next Action: none; cross-check, USB09, and the complete successor qualification sequence passed

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
Incident: work/incidents/incident-usb02-stage1b-post-open-session-failure.md

## Candidate and allocation

- Source commit: `96b8ab4b87e438c41370b24001a5ef00bcd93492`.
- Release S-record SHA-256:
  `0FE12FCE02C411378D1AF45EB11C1AC27694A5D69613830FD970865518C72B3F`.
- Controller A / assembly `1751136` / J-Link `69664082`:
  `USB02_8G`.
- Controller B / assembly `1751219` / J-Link `69660123`:
  `USB03_32G`.

This deliberately repeated the round-3 allocation that failed before the
session-lifecycle correction.

## First-insertion and identity gate

Both drives mounted on their first insertion. No reinsertion, VBUS diagnostic,
controller power cycle, drive identity rule, or specimen-specific delay was
used.

| Gate | USB02 on A | USB03 on B |
| --- | ---: | ---: |
| USB mounted / attached | `1 / 1` | `1 / 1` |
| Media generation | `1` | `1` |
| Handoff acceptance mask | `15` | `15` |
| Application session state / status | `2 / 0` | `2 / 0` |
| Application media ID | `0x4D454449` | `0x4D454449` |
| File-list status | `0` | `0` |
| Pending storage instance | `0` | `0` |
| System / USB application errors | `0 / 0` | `0 / 0` |

Controller A retained SD CID `035344535330384780976F0084018559` and
Controller B retained SD CID `035344535330384780976F0085018507` throughout.
Both reported SD detection state `5`, CID-valid `1`, representative-sector
read `1`, HPT state `5`, HPT status `0`, and replace-media `0`.

## Controller workflows

| Gate | USB02 on A | USB03 on B |
| --- | ---: | ---: |
| WAV enumeration/load | PASS | PASS |
| Sound 1 playback / returned idle | PASS | PASS |
| PID publication | PASS | PASS |
| Image result / progress | success / `1000` | success / `1000` |
| Image bytes / writes / maximum | `8,388,864 / 8,193 / 1,024` | `8,388,864 / 8,193 / 1,024` |
| Image elapsed | `250.04 s` | `408.73 s` |
| Image FileX errors | `0` | `0` |
| HPT request / selected records | `1 / 65` healthy | `1 / 61` historical degraded |
| HPT gaps / complete / published | `0 / 1 / 1` | `0 / 1 / 1` |
| HPT / USB / first USB failure | `0 / 0 / 0` | `0 / 0 / 0` |
| HPT bytes / writes / maximum | `3,990 / 4 / 1,024` | `3,739 / 4 / 1,024` |
| HPT total / USB elapsed | `11.15 / 0.17 s` | `11.27 / 0.41 s` |

Final attached-state captures remained mounted at generation `1`, application
session state `2`, status `0`, valid media ID, zero pending storage, and zero
system/application errors on both controllers.

## Independent Pi validation

The drives were identified by canonical label and UUID and were unmounted for
read-only `fsck.vfat -vn`. Both scans reached the final filesystem sector,
found consistent FAT state, and explicitly left the filesystems unchanged.
The only notice was the existing Windows root-label versus blank boot-label
convention. USB02 reported 11 files and 2,150 used clusters; USB03 reported 13
files and 547 used clusters.

Both were then mounted with `ro,nosuid,nodev,noexec` only for full-file reads:

- Both 8,388,864-byte image files have SHA-256
  `B9FE767E633E0A589D0C103EBE004EF3495FB090FAFF76C06BC0EA8C98F33E27`.
- Both new 225-byte PID files have SHA-256
  `6BCB89F2EFACC503B950EF00151A51AF8353C40B53781110C14DDC441737FC3A`.
- `SR1A_USB02.csv` is 3,990 bytes, SHA-256
  `9BCF0D588E9944D42071AA9F327DE6FCA147B8FA0D4FC8F4BC99D0522FF11FA9`,
  and ends `Export completion: COMPLETE; records published: 65`.
- `SR1B_USB03.csv` is 3,739 bytes, SHA-256
  `908AA8359F45E385D38E4A5A5085705015D7B5EF349F6A73BFD42B0DAF523ED3`,
  and ends `Export completion: COMPLETE; records published: 61`.
- `W00.wav` retained SHA-256
  `37A9DC665366F06D8081B23ECF88BDB30CF81546C3A10EDA1BE827DE2D006B92`.
- `W01.wav` retained SHA-256
  `E22FC8FFF2CF68878C56EA87660CA2325E0FBF04CF091AAEB112A7F274B1B2F7`.

No `.tmp`, `.part`, or `.bak` files were present. The Pi kernel logged no USB
reset, descriptor, SCSI sense, medium, buffer-I/O, offline, or block-I/O error.
Both drives were left unmounted.

## Disposition

The exact previously failing USB02/Controller A path now passes first
insertion, the complete customer workflow, retained HPT publication, final
attached-state telemetry, and independent FAT/content validation. This is
direct hardware evidence that the narrow session-lifecycle correction resolves
the observed gate without a drive-specific mitigation. Cross-controller and
USB09 regression remain before broad Stage 1B acceptance or Stage 2.

## Raw evidence

- `work/evidence/hpt-log-store-circular-mirror/controller-a/usb-session-recovery-round1-usb02-20260731/`
- `work/evidence/hpt-log-store-circular-mirror/controller-b/usb-session-recovery-round1-usb03-20260731/`
