Forum: Mikrocontroller und Digitale Elektronik USB Massenspeicher Protokoll


von Stampede (Gast)


Lesenswert?

Hallo,

ich habe da eine Frage zu USB Massenspeichern. Bei "kleinen" Speichern 
wie SD Karten, die weniger als 128GB haben, wird ja zum lesenden Zugriff 
das READ 10 Commando genutzt, was 28Bit LBA Adressen zulässt. Damit ist 
ja der Speicherbereich (bei 512Byte Sektorgröße) auf die oben genannten 
128GB beschränkt.
Wie werden nun größere Platten angesprochen? Ich gehe mal davon aus, 
dass hier nun der READ16 Befehl zum Einsatz kommt. Nur wie findet der 
USB Host heraus, wie er das Gerät ansprechen soll ?
Kenn sich jemand mit der Thematik aus und kann ein paar Sätze dazu 
schreiben oder hat einen Link zu einer Spezifikation wo das drin steht ?

Gruß
Stampede

von Tobi (Gast)


Lesenswert?

Vermutlich erfragt er zunächst die Kapaziät des Speichers 
(read_capacity?).Und agiert dann dementsprechend, kannst du ja einfach 
mal ausprobieren, in dem du einen dementsprechend großen Speicher 
vortäuscht :)

Grüße

von Stampede (Gast)


Lesenswert?

Das wäre eine Möglichkeit. Ich weiß, dass bei ATAPI auf jeden Fall READ 
CAPACITY 10 ausgeführt wird, dann wird da ein spezieller Wert (ich meine 
0xFFFFFFE) zurückgegeben, falls 48Bit LBA genutzt werden soll. USB 
arbeitet ja mit dem SCSI Befehlssatz, und da weiß ich nicht ob das auch 
so funktioniert. Eine Spec wäre halt schön, sonst muss ich wieder 
reverse engeneering betreiben.

Gruß
Stampede

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.