Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten temat zawiera porady dotyczące debugowania problemów z urządzeniem USB przy użyciu zdarzeń ETW.
- Rozpoznawanie błędów wyliczania urządzeń
- Diagnozowanie błędów uruchamiania urządzenia
- Analiza czasu wstawiania urządzenia
- Software-Initiated czas wznawiania działania urządzenia
- Hardware-Initiated czas wznawiania działania urządzenia
- WZNOWIENIE KONCENTRATORA Z selektywnego zawieszenia czasowego
Diagnozowanie błędów enumeracji urządzeń
Zdarzenia ETW skojarzone z zadaniem wyliczania koncentratora USB umożliwiają określenie głównej przyczyny większości błędów wyliczania urządzeń.
Aby wyświetlić zdarzenia w dzienniku śledzenia skojarzonym z zadaniem wyliczania koncentratora USB
Otwórz program Netmon i znajdź zdarzenie wyliczenia, takie jak "Rozpocznij wyliczanie portu". Kliknij zdarzenie w okienku Podsumowanie ram.
Upewnij się, że zadanie dla tego zdarzenia to enumeracja koncentratora USB, sprawdzając pole Zadanie dla zdarzenia:
- W okienku Szczegóły ramki rozwiń Zdarzenie sieciowe, rozwiń Nagłówek, rozwiń Deskryptor, a następnie znajdź pole Zadanie.
- Upewnij się, że pole „Zadanie” zawiera wartość 2 (enumeracja koncentratora USB).
Przefiltruj zdarzenia, aby wyświetlić tylko te z sterownika centrum, które mają wartość zadania 2:
Kliknij prawym przyciskiem myszy pole Zadanie .
Wybierz pozycję Dodaj wybraną wartość , aby wyświetlić filtr.
Kliknij prawym przyciskiem myszy zdarzenie w okienku Podsumowanie ramki i wybierz polecenie Dodaj"Nazwa protokołu" do filtru wyświetlania.
W okienku Filtr wyświetlania zmień wartość "OR" na "AND". Poniższy przykład przedstawia wynikowy filtr:
NetEvent.Header.Descriptor.Task == 0x2 AND ProtocolName == "USBHub_MicrosoftWindowsUSBUSBHUB"Aby uzyskać więcej informacji na temat używania filtrów w programie Netmon, zobacz "USB Netmon Filters" w temacie Case Study: Troubleshooting an Unknown USB Device by Using ETW and Netmon (Rozwiązywanie problemów z nieznanym urządzeniem USB przy użyciu funkcji ETW i Netmon).
Diagnozowanie błędów uruchamiania urządzenia
Jeśli nie można uruchomić urządzenia podczas obsługi przez sterownik koncentratora pakietu żądania rozpoczęcia we/wy urządzenia (IRP), możesz użyć zdarzeń ETW skojarzonych z zadaniem uruchomienia urządzenia USB, aby rozwiązać problem. W programie Netmon znajdź zdarzenie uruchamiania urządzenia, takie jak "USB Device Start IRP Dispatched". Możesz filtrować zdarzenia, aby wyświetlać tylko te pochodzące ze sterownika koncentratora z wartością zadania 21 (uruchomienie urządzenia USB). Aby uzyskać więcej informacji na temat tworzenia takiego filtru, zobacz "Diagnozowanie błędów wyliczenia urządzeń" w tym temacie.
Profilowanie czasu wstawiania urządzenia
Możesz określić, gdzie jest poświęcany czas w sterowniku centrum podczas wstawiania urządzenia, przeglądając znaczniki czasu zdarzeń wyliczenia.
Chronometraż wyliczania
Czas użyty przez sterownik koncentratora na enumerację urządzenia to okres, który upłynął między następującymi dwoma zdarzeniami:
- Rozpocznij wyliczenie portu
- Zakończono wyliczanie portu
Profilowanie zadań enumeracyjnych
Gdy sterownik koncentratora USB wylicza urządzenie, rejestruje następujące zdarzenia w następującej kolejności:
- Rozpocznij wyliczenie portu
- Ukończono wyliczenie
- PdO utworzone dla wyliczeń
- Ukończono pierwsze resetowanie portu wyliczenia
- Wyliczenie — CreateDevice Complete
- Zakończenie resetu portu numeracji drugiego poziomu
- Wyliczenie — InicjalizacjaUrządzenia Zakończona
- Wyliczenie: SetupDevice Zakończono
- Wyliczanie ukończonego portu
Aby określić czas zajęty przez sterownik koncentratora dla każdego zadania wyliczenia, należy obliczyć czas, który upłynął między następującymi po sobie zdarzeniami. Upłynął czas między IoInvalidateDeviceRelations i IRP_MN_QUERY_DEVICE_RELATIONS
Aby określić część czasu wstawiania urządzenia, który system zużywał podczas oczekiwania na IRP relacji urządzeń zapytań, zmierz czas, jaki upłynął między następującymi dwoma zdarzeniami:
- Zakończono wyliczanie portu
- Wysłanie zapytania IRP o relacje urządzeń koncentratora USB (BusRelations)
Czas upłynął między ukończeniem IRP_MN_QUERY_DEVICE_RELATIONS a IRP_MN_START_DEVICE
Aby określić część czasu wstawiania urządzenia między raportowaniem nowego obiektu urządzenia fizycznego (PDO) do menedżera Plug and Play i otrzymania początkowego protokołu IRP, zmierz czas, który upłynął między następującymi dwoma zdarzeniami:
- Zakończono przetwarzanie IRP zapytania o relacje urządzeń z koncentratorem USB
- Rozpoczęcie wysyłania IRP urządzenia USB
Rozpoczynanie czasowania IRP
Aby określić czas spędzony w sterowniku koncentratora obsługującym początkowy protokół IRP, zmierz czas, który upłynął między następującymi dwoma zdarzeniami:
- Rozpoczęcie protokołu IRP dla urządzenia USB
- Ukończono protokół IRP uruchamiania urządzenia USB
Software-Initiated czas wznawiania działania urządzenia
Sterownik funkcji urządzenia może wysłać żądanie zasilania urządzenia D0 w celu wznowienia urządzenia ze stanu wstrzymania. Aby określić wymagany czas wznowienia działania urządzenia z wstrzymania i gotowości do żądań przeniesienia, zmierz czas, jaki upłynął między następującymi dwoma zdarzeniami:
- Urządzenie USB ustawione na D0, żądanie mocy IRP wysłane
- Zestaw urządzeń USB D0 Urządzenie zasilania IRP ukończono
Hardware-Initiated czas wznawiania działania urządzenia
Sygnał wznawiania na magistrali powoduje, że urządzenie wznawia działanie ze stanu wstrzymania. Aby określić wymagany czas wznowienia urządzenia do stanu, w którym jest gotowy do żądań przeniesienia, zmierz czas, który upłynął między następującymi dwoma zdarzeniami:
- Centrum nadrzędne nie jest zawieszone:
- Zakończono IRP wzbudzenia oczekującego urządzenia USB
- Zestaw urządzeń USB D0 Urządzenie zasilania IRP ukończono
- Centrum nadrzędne jest zawieszone:
- Rozpoczęto wznawianie koncentratora z selektywnego wstrzymania (pierwsze z tych zdarzeń dla dowolnego koncentratora pomiędzy urządzeniem a kontrolerem hosta)
- Zestaw urządzeń USB D0 Urządzenie zasilania IRP ukończono
WZNAWIANIE KONCENTRATORA Z selektywnego wstrzymania chronometrażu
Możesz określić wymagany czas wznowienia centrum z selektywnego wstrzymania, mierząc czas, który upłynął między następującymi dwoma zdarzeniami:
- Rozpoczęto wznawianie działania koncentratora z selektywnego wstrzymania
- Podsumowanie ukończenia węzła
Uwaga
Czas wznowienia koncentratora zależy od czasu wznowienia wszystkich urządzeń poniżej centrum i prawdopodobnie niektórych lub wszystkich koncentratorów powyżej centrum, które jest wznawiane.