Поделиться через


Общие сведения о трассировке событий USB для Windows

В этом разделе приводятся сведения для разработчиков клиентских драйверов о функциях трассировки и ведения журнала для универсальной последовательной шины (USB). Эта информация предоставляется для тех, кто разрабатывает и отлаживать USB-устройства. Он содержит сведения об установке средств, создании файлов трассировки и анализе событий в USB-файле трассировки. В этом разделе предполагается, что у вас есть полное представление об экосистеме USB и оборудовании, необходимом для успешного использования функций трассировки и ведения журнала USB.

Чтобы интерпретировать трассировки событий, необходимо также ознакомиться с драйверами windows USB на стороне узла в Windows, официальными спецификациями USB и спецификациями класса USB-устройства.

Сведения о трассировке событий для Windows

Трассировка событий Windows (ETW) — это высокоскоростное средство трассировки общего назначения, предоставляемое операционной системой. Он использует механизм буферизации и ведения журнала, реализованный в ядре, чтобы обеспечить механизм трассировки событий, которые вызываются как приложениями в пользовательском режиме, так и драйверами устройств в режиме ядра. Кроме того, etW предоставляет возможность динамического включения и отключения ведения журнала, что упрощает выполнение подробной трассировки в рабочих средах без перезагрузки или перезапуска приложений. Механизм ведения журнала использует буферы для каждого процессора, которые записываются на диск асинхронным потоком записи. Такая буферизация позволяет крупномасштабным серверным приложениям записывать события с минимальными помехами.

Трассировка событий Windows появилась в Windows 2000. С тех пор различные основные компоненты операционной системы и сервера приняли etw для инструментирования своей деятельности. EtW теперь является одной из ключевых технологий инструментирования на платформах Windows. Все большее число сторонних приложений используют трассировку событий Windows для инструментирования, а некоторые используют события, которые предоставляет Windows. Трассировка событий Windows также была абстрагирована в технологию трассировки программного обеспечения windows (WPP), которая предоставляет набор простых в использовании макросов для трассировки сообщений в стиле printf для отладки во время разработки.

Трассировка событий Windows была значительно обновлена для Windows Vista и Windows 7. Одной из наиболее важных новых возможностей является унифицированная модель поставщика событий и API. Короче говоря, новые унифицированные API объединяют трассировки ведения журнала и запись в Просмотр событий в единый, простой в использовании механизм для поставщиков событий. В то же время в ETW было добавлено несколько новых возможностей для улучшения взаимодействия с разработчиками и конечными пользователями.

Дополнительные сведения о трассировке событий Windows и WPP см. в разделе Трассировка событий и трассировка событий Windows (ETW).

Поддержка USB для ведения журнала трассировки событий Windows

USB является одним из наиболее распространенных способов подключения постоянно растущего разнообразия периферийных устройств к пк. Существует очень большая установленная база USB-компьютеров и периферийных USB-устройств, и поставщики систем, поставщики устройств и конечные пользователи ожидают и требуют, чтобы USB-устройства работали безупречно на уровне системы и устройства.

Большая установленная база и распространение USB-устройств выявили проблемы совместимости между программным стеком WINDOWS USB, контроллером узла USB и USB-устройствами. Эти проблемы совместимости вызывают проблемы у клиентов, такие как сбои при работе устройства, зависания системы и сбои системы.

Было трудно или невозможно исследовать и отлаживать проблемы USB-устройства без прямого доступа к системе и (или) устройствам или в некоторых случаях системного аварийного дампа. Даже при полном доступе к оборудованию и аварийном дампе извлечение соответствующей информации является трудоемким методом, который известен лишь нескольким разработчикам основных USB-драйверов. Вы можете отлаживать проблемы USB с помощью аппаратных или программных анализаторов, но они стоят очень дорого и доступны лишь небольшому проценту специалистов.

Поддержка USB ETW в Windows 7

В Windows 7 etW предоставляет механизм ведения журнала событий, который может использовать стек ДРАЙВЕРОВ USB для изучения, диагностики и отладки проблем, связанных с USB. Ведение журнала событий ETW стека usb driver поддерживает большинство или все возможности отладки, предоставляемые существующим механизмом нерегламентированного ведения журнала в стеке драйверов USB, без каких-либо ограничений. Это упрощает отладку проблем, связанных с USB, что должно обеспечить более надежный стек драйверов USB в долгосрочной перспективе.

Мы добавили ведение журнала трассировки событий Windows для драйверов USB-контроллера узла и драйвера USB-концентратора в Windows 7. Уровень драйвера хост-контроллера USB включает драйвер порта хост-контроллера (usbport.sys) и драйверы мини-порта (usbehci.sys, usbohci.sys и usbuhci.sys). Уровень драйвера USB-концентратора состоит из драйвера USB-концентратора (usbhub.sys). Поставщики событий ETW для USB-драйвера входят во все выпуски и номера SKU Windows 7.

  • События концентратора USB

    Хотя сбор событий USB включен, поставщик событий концентратора USB сообщает о добавлении и удалении USB-концентраторов, о сводных событиях всех концентраторов устройства и изменении состояния порта. Эти события можно использовать для определения основной причины большинства сбоев перечисления устройств.

  • События USB-порта

    Хотя сбор событий USB включен, поставщик событий USB-порта сообщает о вводе-выводе из клиентских драйверов, открытии и закрытии конечных точек устройства, а также о переходах состояния мини-порта, таких как запуск и остановка мини-порта. Зарегистрированный ввод-вывод включает запросы на состояние физических USB-портов. Переходы состояния на физических USB-портах являются одним из ключевых инициаторов действий в основном стеке драйверов USB.

Поддержка USB ETW в Windows 8

Windows 8 предоставляет стек драйверов USB для поддержки устройств USB 3.0. Стек драйверов USB 3.0, предоставляемый корпорацией Майкрософт, состоит из трех драйверов: Usbxhci.sys, Ucx01000.sys и Usbhub3.sys. Все три драйвера работают вместе, чтобы добавить встроенную поддержку Windows для большинства хост-контроллеров USB 3.0. Новый стек драйверов поддерживает Высокоскоростные, высокоскоростные, полноскоростные и низкоскоростные устройства. Стек драйверов USB 2.0 поддерживается на Windows 8. С помощью трассировки событий стек драйверов USB 3.0 предоставляет представление о точной активности хост-контроллера и всех подключенных к нему устройств.

  • События USB Hub3

    Хотя сбор событий USB включен, поставщик событий USB Hub3 сообщает о добавлении и удалении USB-концентраторов, сводных событиях всех концентраторов, изменении состояния порта и состояниях питания USB-устройств и концентраторов. Изменения состояния портов — это переходы состояния на физических USB-портах и являются одним из ключевых инициаторов действий в основном стеке драйверов USB. Hub3 сообщает этапы процесса перечисления, которые указывают на основную причину большинства сбоев перечисления устройств. После включения ключевое слово StateMachine Hub3 сообщает о внутренней активности конечного автомата для объектов программного устройства, концентратора и порта, что обеспечивает более глубокое представление о логике драйвера.

  • События USB UCX

    Хотя сбор событий USB включен, поставщик событий USB UCX сообщает о вводе-выводе из клиентских драйверов и открытии и закрытии конечных точек устройства и потоков конечных точек. После включения ключевое слово StateMachine UCX сообщает о внутренней активности конечного автомата для объектов контроллера узла и конечных точек, что обеспечивает более глубокое представление о логике драйвера.

  • События USB xHCI

    Хотя сбор событий USB включен, поставщик событий USB xHCI сообщает свойства контроллеров xHCI системы и низкоуровневые сведения об операциях xHCI. xHCI сообщает о запросах команд, отправленных и выполненных оборудованием xHCI, включая коды завершения для xHCI.

В этом разделе

Раздел Описание
Запись трассировки событий USB с помощью Logman В этом разделе содержатся сведения об использовании средства Logman для записи трассировки событий ТРАССИРОВКИ СОБЫТИЙ WINDOWS ЧЕРЕЗ USB. Logman — это средство трассировки, встроенное в Windows. Logman можно использовать для записи событий в файл журнала трассировки событий.
Использование идентификаторов GUID для идентификаторов действий в трассировках ТРАССировки СОБЫТИЙ WINDOWS USB В этом разделе содержатся сведения об идентификаторах GUID действий, о том, как добавить их в поставщики трассировки событий и просмотреть их в Netmon.
Трассировки ТРАССировки СОБЫТИЙ WINDOWS ЧЕРЕЗ USB в Netmon Вы можете просматривать трассировки событий ТРАССИРОВКИ СОБЫТИЙ WINDOWS с помощью монитора сети (Майкрософт), также называемого Netmon. Netmon не анализирует трассировку автоматически. Для этого требуются средства синтаксического анализа ТРАССИРОВКИ СОБЫТИЙ USB. Средства синтаксического анализа USB ETW — это текстовые файлы, написанные на языке анализатора сетевого монитора (NPL), которые описывают структуру трассировок событий ETW. Средства синтаксического анализа также определяют столбцы и фильтры, относящиеся к USB. Эти средства синтаксического анализа делают Netmon лучшим инструментом для анализа трассировки ТРАССировки СОБЫТИЙ WINDOWS ЧЕРЕЗ USB.
Использование Xperf с USB ETW В этом разделе описывается использование Xperf с Netmon для анализа данных трассировки USB.
USB ETW и управление питанием В этом разделе представлен краткий обзор использования трассировки событий Windows для проверки состояния выборочной приостановки USB и выявления проблем с энергоэффективности системы с помощью служебной программы Windows PowerCfg.

Использование USB ETW
Трассировка событий USB для Windows