1 # FriiDump Candidate16 Linux Xbox Tray-Cycle Correction
5 The first Candidate15 Linux Xbox smoke selected the intended USB GDR-8050L
6 identity and passed the `CAP_SYS_RAWIO` preflight, but the inserted media was a
7 normal video DVD. The challenge handshake therefore could not establish an Xbox
8 game view. Stage 2 then failed immediately on the required software eject, and
9 the tray remained locked after FriiDump exited.
13 Linux optical devices may use the generic CD-ROM layer's `CDO_LOCK` behavior
14 while a device file is open. Candidate15 sent raw START STOP UNIT eject/load
15 commands without first releasing that door lock. The initial eject therefore
16 failed before the media cycle could begin.
20 Candidate16 uses the documented `CDROM_LOCKDOOR` ioctl on Linux:
22 1. release the optical door lock before software eject;
23 2. send START STOP UNIT eject;
24 3. wait three seconds;
25 4. send START STOP UNIT load;
26 5. poll readiness and settle;
27 6. restore the door lock only after a successful load.
29 On eject, load, or readiness failure, FriiDump leaves the door unlocked and
30 prints an always-visible recovery diagnostic.
32 ## Acceptance boundary
34 Candidate16 requires clean Linux and Windows builds, explicit
35 `cap_sys_rawio=ep` installation on the exact Linux executable, and a physical
36 GDR-8163B/GDR-8050L Linux Xbox smoke using an Original Xbox retail disc. The
37 smoke must prove both required media cycles, metadata, unlocked game-data reads,
38 controlled cancellation, native reporting, and STOP UNIT.