RTV forum PL | NewsGroups PL

Jakie są kluczowe specyfikacje dla urządzeń USB mass storage?

[usb] mass storage

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie są kluczowe specyfikacje dla urządzeń USB mass storage?

Goto page Previous  1, 2, 3  Next

identyfikator: 20040501
Guest

Tue Jun 12, 2012 10:14 am   



natknąłem się na taki plik:

ed2k://|file|Usb%20Driver%20Programming%20(2)%20-%20Writing%20Your%20Own%20Device%20Driver%20(2002%20Elektor%20Electronica%20Excerpt).pdf|205985392|0C5F3A56A8B3EA8488CDEC79999FA4A1|/

ale zero źródeł, może Ktoś widział ten artykuł, a może ma i mógłby
zeskanować? ;o)

identyfikator: 20040501
Guest

Tue Jun 12, 2012 12:21 pm   



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

schowaj się do europy

Adam Wysocki
Guest

Tue Jun 12, 2012 2:11 pm   



Michoo <michoo_news@vp.pl> wrote:

Quote:
jakaś głupota,
Raczej jakiś głupek się za to zabiera.

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

--
Gof

identyfikator: 20040501
Guest

Tue Jun 12, 2012 6:15 pm   



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?

MiSter
Guest

Tue Jun 12, 2012 9:34 pm   



Quote:
pokazuje pełne $12 bajtów... a to ciekawostka?
A co wtym dziwnego? jezeli max_packet_size jest odpowiednio duży to idzie za

jednym razem.

MiSter

shg
Guest

Wed Jun 13, 2012 12:22 am   



On Jun 12, 8:15 pm, "identyfikator: 20040501"
<NOSPAMtestowan...@go2.pl> wrote:
Quote:
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?

Debugger może analizować pakiety z poziomu systemu, a za fragmentację
może być odpowiedzialny kontroler hosta na płycie.
Trzeba by "sprzętowym" analizatorem oglądać. Wszystkie programowe
które sprawdzałem mają jakieś mniej lub bardziej poważne wady.
Np. nie "sklejają" pakietów, co uniemożliwia ich analizę (USBlyzer),
albo obcinają dane (usbfs(?) na Linuksie) itp.

identyfikator: 20040501
Guest

Wed Jun 13, 2012 7:09 am   



chyba mnie Panowie nie rozumiecie, napiszę jeszcze raz o co mi chodzi...
chodzi o pobranie pierwszy raz deskryptora urządzenia podczas enumeracji,
moja przykładowa myszka zwraca w max_packet_size = 8, ale co się dzieje
podczas pierwszego odczytu deskryptora, gdy size jest nieznany, konkretnie
jakie pakiety są wysyłane przez urządzenie?

identyfikator: 20040501
Guest

Wed Jun 13, 2012 7:30 am   



Mister i shg możecie odezwać się do mnie na maila? chciałbym Wam zadać
pytanie na temat związany z dokumentacją do USB... tylko prywatne.

MiSter
Guest

Fri Jun 15, 2012 11:14 am   



Quote:
chyba mnie Panowie nie rozumiecie, napiszę jeszcze raz o co mi chodzi...
chodzi o pobranie pierwszy raz deskryptora urządzenia podczas enumeracji,
moja przykładowa myszka zwraca w max_packet_size = 8, ale co się dzieje
podczas pierwszego odczytu deskryptora, gdy size jest nieznany, konkretnie
jakie pakiety są wysyłane przez urządzenie?

Dla myszki sekwencja wygląda Np. tak:
GetDescriptor(device) - tu następuje pobranie deskryptora z adresu 0 (device
nie jest skonfigurowane)
Host wysyła SETUP
IN Device odpowiada 8 bajtami
IN Device odpowiada 8 bajtami
IN Device odpowiada 2 bajtami
OUT jako info o zakończeniu SETUP
Teraz Host wie jaki ma max packet size więc robi reset Device.
Po resecie Który trwa kilka ms host wysyła:
SetAddres(1) - Teraz następuje zaadresowanie Device wolnym adresem np 1.
Od tej chwili wszystkie requesty dotyczą naszego device który tylko
odpowiada na ten adres nadany właśnie przez Hosta
GetDescriptor(Device)
Host wysyła SETUP
IN Device odpowiada 8 bajtami
IN Device odpowiada 8 bajtami
IN Device odpowiada 2 bajtami
OUT jako info o zakonczeniu SETUP
GetDescriptor(Configuration) - jest pobierana mała konfiguracja 9B
GetDescriptor(Configuration) - jest pobierana duża konfiguracja 34B

Następnie są pobierane stringi, raport, a na koniec jest ustawiana
konfiguracja i od tej chwili urządzenie działa zgodnie z konfiguracją.

Tak to wygląda w trybie LS - oczywiście między pakietami idą KeepAlive ale
to w tym wypadku jest nie istotne.

MiSter

identyfikator: 20040501
Guest

Fri Jun 15, 2012 12:22 pm   



Quote:
Dla myszki sekwencja wygląda Np. tak:

dz. ale dlaczego napisałeś NP.?

Quote:
GetDescriptor(device) - tu następuje pobranie deskryptora z adresu 0
(device nie jest skonfigurowane)
Host wysyła SETUP
IN Device odpowiada 8 bajtami
IN Device odpowiada 8 bajtami
IN Device odpowiada 2 bajtami
OUT jako info o zakończeniu SETUP

niby dlaczego tak? a może to jest tak, że piersze zapytanie ZAWSZE odbywa
się w paczkach po 8 bajtów? nie jest to nigdzie opisane, bo bym nie pytał...

Quote:
Teraz Host wie jaki ma max packet size więc robi reset Device.
Po resecie Który trwa kilka ms host wysyła:
SetAddres(1) - Teraz następuje zaadresowanie Device wolnym adresem np 1.
Od tej chwili wszystkie requesty dotyczą naszego device który tylko
odpowiada na ten adres nadany właśnie przez Hosta
GetDescriptor(Device)
Host wysyła SETUP
IN Device odpowiada 8 bajtami
IN Device odpowiada 8 bajtami
IN Device odpowiada 2 bajtami
OUT jako info o zakonczeniu SETUP
GetDescriptor(Configuration) - jest pobierana mała konfiguracja 9B
GetDescriptor(Configuration) - jest pobierana duża konfiguracja 34B


no właśnie, to też zagadka, raz wysyła sam config, później wszystkie
deskryptory naraz, a zapytanie ma taki sam format...

Quote:
Następnie są pobierane stringi, raport, a na koniec jest ustawiana
konfiguracja i od tej chwili urządzenie działa zgodnie z konfiguracją.

Tak to wygląda w trybie LS - oczywiście między pakietami idą KeepAlive
ale to w tym wypadku jest nie istotne.

dzięki, jakbyś mógł to odezwij się do mnie na qwertz99@go2.pl żadnego spamu
nie planuję ;o).

MiSter
Guest

Sat Jun 16, 2012 6:15 am   



Quote:
dz. ale dlaczego napisałeś NP.?

Bo dla innych może się różnić.


Quote:
niby dlaczego tak? a może to jest tak, że piersze zapytanie ZAWSZE odbywa
się w paczkach po 8 bajtów? nie jest to nigdzie opisane, bo bym nie
pytał...

Już pisałem wcześniej. Spec usb mówi, że EP0 musi mieć max packet size
conajmniej 8B, więc oczywiste jest, że pierwsze zagajenie _musi_ się odbywać
po 8 bajtów.

Quote:
GetDescriptor(Configuration) - jest pobierana mała konfiguracja 9B
GetDescriptor(Configuration) - jest pobierana duża konfiguracja 34B


no właśnie, to też zagadka, raz wysyła sam config, później wszystkie
deskryptory naraz, a zapytanie ma taki sam format...

W zapytaniu jest pole które mówi ile chce danych

Quote:
dzięki, jakbyś mógł to odezwij się do mnie na qwertz99@go2.pl żadnego
spamu nie planuję ;o).

Adres znajdziesz w sieci.


MiSter

identyfikator: 20040501
Guest

Sat Jun 16, 2012 10:10 am   



Quote:
dz. ale dlaczego napisałeś NP.?

Bo dla innych może się różnić.


niby dlaczego tak? a może to jest tak, że piersze zapytanie ZAWSZE odbywa
się w paczkach po 8 bajtów? nie jest to nigdzie opisane, bo bym nie
pytał...

Już pisałem wcześniej. Spec usb mówi, że EP0 musi mieć max packet size
conajmniej 8B, więc oczywiste jest, że pierwsze zagajenie _musi_ się
odbywać po 8 bajtów.

to w końcu jak, jaki może być inny przypadek nie pasujący do tego co
napisane wyżej?

MiSter
Guest

Sat Jun 16, 2012 11:28 am   



Quote:
niby dlaczego tak? a może to jest tak, że piersze zapytanie ZAWSZE
odbywa się w paczkach po 8 bajtów? nie jest to nigdzie opisane, bo bym
nie pytał...

Już pisałem wcześniej. Spec usb mówi, że EP0 musi mieć max packet size
conajmniej 8B, więc oczywiste jest, że pierwsze zagajenie _musi_ się
odbywać po 8 bajtów.

to w końcu jak, jaki może być inny przypadek nie pasujący do tego co
napisane wyżej?


Jak pisałem wcześniej: to był rozpatrywany przypadek myszki w trybie Low
Speed.
Równie dobrze można spotkać myszki chodzące w Ful Speedzie a nawet w HS bo
ktoś miał taki kaprys.

MiSter

identyfikator: 20040501
Guest

Sat Jun 16, 2012 11:51 am   



Quote:
Jak pisałem wcześniej: to był rozpatrywany przypadek myszki w trybie Low
Speed.
Równie dobrze można spotkać myszki chodzące w Ful Speedzie a nawet w HS bo
ktoś miał taki kaprys.

weź mnie nakieruj gdzie to wszystko jest opisane?

MiSter
Guest

Sat Jun 16, 2012 1:37 pm   



Użytkownik "identyfikator: 20040501" <NOSPAMtestowanije@go2.pl> napisał w
wiadomości news:jrhs07$f43$1@node1.news.atman.pl...
Quote:
Jak pisałem wcześniej: to był rozpatrywany przypadek myszki w trybie Low
Speed.
Równie dobrze można spotkać myszki chodzące w Ful Speedzie a nawet w HS
bo ktoś miał taki kaprys.

weź mnie nakieruj gdzie to wszystko jest opisane?
Specyfikacja USB http://www.usb.org

MiSter

Goto page Previous  1, 2, 3  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie są kluczowe specyfikacje dla urządzeń USB mass storage?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map