R07 — CDC-ACM, session clock and USB re-enumeration¶
Status: NOT EXECUTED as a complete hardware procedure — T2B1 and T3B1.
Use the shared acceptance record, with a separate result for every required model/OS. Host and emulator output remains separate evidence.
Preconditions¶
R01 passed; disposable TOTP; hosts with correct UTC; identified serial port on every OS.
Steps¶
- After complete power loss, verify Time needs synchronisation. Open Settings → TOTP time → Sync over USB. Record CDC-ACM only, without FIDO/CCID.
- Send
HELLO, thenTIME 1followed by current Unix time and LF using examples in../protocols/time-sync-v1.md, oruv run python tools/feuristic_time.py. Verify OK and return to HID+CCID. - Without cutting power, enter and leave import mode, then inspect TOTP: time must continue. Return to clock mode, send time 61 seconds behind, refuse once and accept on a second attempt. Repeat with a forward jump >300 seconds.
- Test TIME2, epochs before 2024/after 2100, lines >64 bytes, CR/CRLF and non-printable characters. Compare errors with the protocol and verify rejection never changes the clock.
- Cancel locally and test the five-minute timeout. Fully cut VBUS and reconnect: time must be absent again. Repeat on all three OSes.
Expected result¶
Standard temporary serial port, bounded errors, effective time-jump consent, clock retained under continuous power and invalidated by a power cut; functional USB after every exit.
Evidence to retain¶
Redacted serial transcript, host/device UTC timestamps, accept/refuse videos, descriptors and TOTP results before/after power loss.