[usb] mass storage

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View
może mnie Ktoś oświecić, czy USB mass storage mają jakąś specyfikację?


Re: mass storage
On Jun 10, 10:35A0%pm, "identyfikator: 20040501"
Quoted text here. Click to load it

http://www.usb.org/developers/devclass_docs#approved

Re: mass storage
http://www.usb.org/developers/devclass_docs#approved

wykasowałem post, ale się jeszcze załapał
może Ktoś wie jak wydłubać z systemu raport descryptor dla HID?


Re: mass storage
może mi Ktoś wyjaśnić tą tabelkę:
http://www.usbmadesimple.co.uk/ums_ms_desc_dev.htm
pakiet ma 18 bajtów, a maksymalna długość EP0 to 8 bajtów... ki grzyb?


Re: mass storage
Quoted text here. Click to load it
deskryptor

maksymalna długość pakietu dla EP0

Quoted text here. Click to load it
Czego nie rozumiesz? ;)

--
Pozdrawiam
Michoo

Re: mass storage
Quoted text here. Click to load it

zna się Ktoś na tym?

cobym nie pomieszał, emumeracja, pierwsze zapytatnie o jakiś tam
deskryprtor... control transfererm z polem danych 8 bajtów zawierającym
informację który deskryprtor hosta interesuje... w zwróconym pakiecie opisu
deskryptora jest pole długość bufora punktu zerowego... czy host spodziewa
sie tych 18 bajtów opisu deskryptora? jakaś głupota, jak może pytać o
długość bufora, skoro odczytuje z niego dane (opis deskryptora)...


Re: mass storage
przy okazji (Ktoś już się tu pytał, ale polecono mu Wiresharka, chyba to
inna działka) znacie jakieś dobre debugery transmisji USB?


Re: mass storage
Quoted text here. Click to load it
Ale...bełkot...przeczytaj...usb...in...nutshell...

Quoted text here. Click to load it
Nie, po pierwszych 8 wywróży sobie resztę.

Quoted text here. Click to load it
Raczej jakiś głupek się za to zabiera.

Quoted text here. Click to load it
Nie pyta o długość bufora. Pyta o deskryptor urządzenia.



--
Pozdrawiam
Michoo

Re: mass storage

Quoted text here. Click to load it

Najlepiej w ogóle nie karmić, to może zdechnie...

--
Gof

Re: mass storage
Quoted text here. Click to load it

schowaj się do europy


Re: mass storage

Quoted text here. Click to load it


Host zawsze pyta dwukrotnie: najpiew o tzw. małą konfigurację 8 bajtów - bo
tyle zawsze EP0 musi umieć  wspierać. Tam ma zapisane na ostatnim bajcie
jaki ma rzeczywisty maz_packet_size. Po tym pyta już o "dużą konfigurację" z
właściwym pakiet_size. Jeżeli było max_packet_size=8  to pyta trzy razy:
8+8+218%B.

Proste?

MiSter



Re: mass storage
Quoted text here. Click to load it

dzięki za info, ale z tego co widzę w debuggerze i na tej ciekawej stronie:
http://www.usbmadesimple.co.uk/ums_5.htm to device descriptor przesyłany
jest w jednym pakiecie... czyli decyduje informacja w setup pakiecie - 6
wLength 2 Count Number of bytes to transfer if there is a data stage
? jak sobie host zarzyczy 8 bajtów to device descriptor przesyłany jest
8+8+2?

nie wiem, wszystko mi się już pomieszało, odezwę się później...


Re: mass storage
dzięki za info, ale z tego co widzę w debuggerze i na tej ciekawej stronie:
http://www.usbmadesimple.co.uk/ums_5.htm to device descriptor przesyłany
jest w jednym pakiecie... czyli decyduje informacja w setup pakiecie - 6
wLength 2 Count Number of bytes to transfer if there is a data stage
? jak sobie host zarzyczy 8 bajtów to device descriptor przesyłany jest
8+8+2?

nie wiem, wszystko mi się już pomieszało, odezwę się później...


Re: mass storage
dzięki za info, ale z tego co widzę w debuggerze i na tej ciekawej stronie:
http://www.usbmadesimple.co.uk/ums_5.htm to device descriptor przesyłany
jest w jednym pakiecie... czyli decyduje informacja w setup pakiecie - 6 |
wLength | 2 | Count Number of bytes to transfer if there is a data stage?
jak sobie host zażyczy 8 bajtów to device descriptor przesyłany jest 8+8+2?

nie wiem, wszystko mi się już pomieszało, odezwę się później...


Re: mass storage

Quoted text here. Click to load it

Bo to jest wyższy poziom - tam pokazano już całe pakiety. A sterownik to
dzieli w zależności od tego jaki max_packet_size jest w device. Może
max_pakiet_size być równy 64 i wtedy sterownik za jednym zamachem przesyła
deskryptory gdyż one zazwyczaj liczą po kilkanaście bajtów. Raport HID może
mieć > 64B (i zazwyczaj ma )  więc w tym przypadku trzeba dzielić.
Device nie może odesłać więcej danych niż się Host spodziewa bo to oznacza
gruby błąd - zostaje przerwana transmisja.
Zazwyczaj w prostych urządzeniach HID typu mysz max_pakiet_size jest = 8, bo
tam każdy bajt ramu dużo kosztuje, a czas transmisji nie jest  istotny.

Ciekawostka: bardzo proste urządzenia nie mają innych enpointów za wyjątkiem
EP0, który jest zawsze obowiązkowy :-)


Ale zaraz??  piszemy o HID a temat  wątku to MSC?

MiSter



Re: HID
Quoted text here. Click to load it

dzięki, właśnie dlatego po przeczytaniu kilku książek i dokumentów zająłem
się klasą HID, jakby Ktoś też się bawił to chyba trzeba powiedzieć, że to
jednak najprostsze urządzenia USB... ale zamieszane jak śmok ;o)

Quoted text here. Click to load it

pytanie z wątku było o specyfikację mass storage, nie ma jakiejś jednej
biblii tylko informacje porozrzucane po różnych dokumentach...

a jeśli chodzi o enumerację, to jak wygląda pierwszy odczyt deskryptora
urządzenia w enumeracji, tak:
setup packet + IN  packet (8 bajtów) + IN packet (8 bajtów) + IN packet (2
bajty) + ACK
czy może tak:
setup packet + IN  packet (pierwszych 8 bajtów) + ACK
bo jak rozumiem kolejne transakcje tak jak pierwszy przykład?
jakie znaczenie ma pole długość danych w setup pakiecie?


Re: HID
a jak sprawa wygląda od strony windows, co trzeba spełnić, żeby winda
zainstalowała moje urządzenie HID (z moim report des.) z domyślnym
sterownikiem HID?


Re: mass storage
coś mnie chyba Szanowny Kolega oszukuje, właśnie zobaczyłem w debugerze, że
pierwszy deskryptor w enumeracji przesyłany jest w całości... debuger
pokazuje pełne $12 bajtów... a to ciekawostka?


Re: mass storage
Quoted text here. Click to load it
A co wtym dziwnego? jezeli max_packet_size jest odpowiednio duży to idzie za
jednym razem.

MiSter



Re: mass storage
On Jun 12, 8:15A0%pm, "identyfikator: 20040501"
Quoted text here. Click to load it

Debugger moBF%e analizowaE6% pakiety z poziomu systemu, a za fragmentacjEA%
moBF%e byE6% odpowiedzialny kontroler hosta na pB3%ycie.
Trzeba by "sprzEA%towym" analizatorem oglB1%daE6%. Wszystkie programowe
ktF3%re sprawdzaB3%em majB1% jakieB6% mniej lub bardziej powaBF%ne wady.
Np. nie "sklejajB1%" pakietF3%w, co uniemoBF%liwia ich analizEA% (USBlyzer)=
,
albo obcinajB1% dane (usbfs(?) na Linuksie) itp.

Site Timeline