-
Data: 2012-06-15 13:14:22
Temat: Re: mass storage
Od: "MiSter" <_...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> 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
Następne wpisy z tego wątku
- 15.06.12 14:22 identyfikator: 20040501
- 16.06.12 08:15 MiSter
- 16.06.12 12:10 identyfikator: 20040501
- 16.06.12 13:28 MiSter
- 16.06.12 13:51 identyfikator: 20040501
- 16.06.12 15:37 MiSter
- 16.06.12 19:49 identyfikator: 20040501
- 16.06.12 20:09 identyfikator: 20040501
- 16.06.12 23:46 MiSter
- 17.06.12 16:45 identyfikator: 20040501
Najnowsze wątki z tej grupy
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
Najnowsze wątki
- 2025-01-06 Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 2025-01-06 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-06 Do IO i innych elektrooszolomow, tu macie prawdziwe smrody
- 2025-01-06 Białystok => Full Stack .Net Engineer <=
- 2025-01-06 Kraków => Business Development Manager - Network and Network Security
- 2025-01-06 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-06 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-06 Lublin => Programista Delphi <=
- 2025-01-06 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-06 śnieg
- 2025-01-05 Żarówka do lampy z czujnikiem ruchu
- 2025-01-05 Rozkręcają się
- 2025-01-04 pozew za naprawę sprzętu na youtube
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją