Kommunikation mit einem USB-Diskettenlaufwerk, mit Diskette

Sitzungsprotokoll 160629

⇒	Control
↖	Bulk
←	Interrupt
  1. Inquiry ⇒ 12 00 00 00 24 00 00 00 00 00 00 00 ↖ 00 80 00 01 1F 00 00 00 ↖ 'MITSUMI' ↖ 'USB_UFDD_061M' 00 00 00 ↖ '0.00' ← 00 00
  2. Read Format Capacities ⇒ 23 00 00 00 00 00 00 00 FC 00 00 00 EP0Stall
  3. Request Sense ┌┬─ AllocLen = 18 Byte ⇒ 03 00 00 00 12 00 00 00 00 00 00 00 ┌┬─ Additional Sense Code Qualifier (ASCQ) ↖ 70 00 06 00 00 00 00 0A 00 00 00 00 29 00 00 00 00 00 ││ └┴─ Sense Key └┴─ immer 0x0A └┴─ Additional Sense Code (ASC) └┴─ Error code, invalid ← 06 29 = Power-On-Reset
  4. wie 1.
  5. wie 2. aber Antwort 06-28-00 ← 06 28 = Media Changed
  6. Read Format Capacities (wie 1.) ⇒ 23 00 00 00 00 00 00 00 FC 00 00 00 ┌┬Bytes die folgen ↖ 00 00 00 20 ┌┬─┬┬Kapazität in Blocks ││ ││ ┌┬Typ ┌┬─┬┬Blockgröße Blöcke Typ Blockgröße ↖ 00 00 0B 40 02 00 02 00 2880 Current Media 512 1,44 MB ↖ 00 00 09 60 00 00 02 00 2400 - 512 1,2 MB ↖ 00 00 04 D0 00 00 04 00 1232 - 1K 1,232 MB ↖ 00 00 0B 40 00 00 02 00 2880 - 512 1,44 MB ← 00 00
  7. Read Capacity ⇒ 25 00 00 00 00 00 00 00 00 00 00 00 ┌┬─┬┬─ Blockgröße ↖ 00 00 0B 3F 00 00 02 00 2879 512 1,44 MB └┴─┴┴letzter LBA = 2879 ← 00 00
  8. Sektor lesen ┌┬─┬┬──┬┬─┬┬LBA ┌┬──┬┬─Länge ⇒ 28 00 00 00 00 00 00 00 01 00 00 00 ↖ (der Bootsektor, 0,4 s später) ← 00 00
  9. wie 5.
  10. wie 5.
  11. wie 5.
  12. Test Unit Ready ⇒ 00 00 00 00 00 00 00 00 00 00 00 00 ← 00 00
  13. wie 7.
  14. wie 6.
  15. wie 5. . . .
  16. Sektor lesen ┌┬─┬┬──┬┬─┬┬LBA ┌┬──┬┬Länge ⇒ 28 00 00 00 00 40 00 00 04 00 00 00 ↖ Endpoint-Stall (also Lesefehler) Danach 4x Reset_Pipe_and_Clear_Stall (durch den Treiber)
  17. Request Sense ⇒ 03 00 00 00 12 00 00 00 00 00 00 00 ↖ 70 00 03 00 00 00 00 0A 00 00 00 00 10 00 00 00 00 00 └┴Key └┴ASC ← 03 10 = ID CRC Error
  18. wie 11.
  19. wie 7. (Bootsektor)
  20. wie 11.
  21. wie 6.
  22. wie 5.
  23. wie 20. aber LBA=0 und Länge = 8 ↖ Endpoint-Stall (sowie Reset_Pipe_...)
  24. wie 21. . . . irgendwann klapp's mit dem Lesen
  25. Mode Sense ┌┬alles ┌┬Länge ⇒ 5A 00 3F 00 00 00 00 00 C0 00 00 00 Die Antwort ist ganz seltsam und unerklärlich: ↖ 00 46 02 80 00 00 00 00 ↖ 'NEC ' ↖ 'USB UF00' ↖ '0 ' ↖ 00 00 00 00 00 00 00 05 28 ... ↖ 1B 0A 00 01 00 00 00 00 00 00 00 00 01 = TLUN ↖ 1C 06 00 05 00 00 00 00 05 = Zeit 2 s
Ohne Diskette liefert:

Wahrscheinlich kann man mit so einem Diskettenlaufwerk keine „hochformatierten“ Disketten („fdformat“ 1,77 MB, Windows95-Installationsdisketten 2 MB) erstellen. Möglicherweise kann man 1,77 MB lesen, da es sich dabei um ganz normale 512-Byte-Sektoren handelt, nur mit verkürztem Sync-Header und verkleinerten Umschaltlücken.