Compartir a través de


Información general sobre el seguimiento de eventos USB para Windows

En este tema se proporciona información para los desarrolladores de controladores de cliente sobre las características de seguimiento y registro de Universal Serial Bus (USB). Esta información se proporciona para las ventajas de aquellos que desarrollan y depuran dispositivos USB. Incluye información sobre cómo instalar las herramientas, crear archivos de seguimiento y analizar los eventos en un archivo de seguimiento USB. Este tema supone que tiene una comprensión completa del ecosistema USB y el hardware necesario para utilizar con éxito las funciones de rastreo y registro de USB.

Para interpretar los rastros de eventos, también debe comprender los controladores del lado host USB de Windows, las especificaciones USB oficiales y las especificaciones de clase de dispositivo USB.

Acerca del seguimiento de eventos para Windows

El seguimiento de eventos para Windows (ETW) es una instalación de seguimiento de alta velocidad y de uso general proporcionada por el sistema operativo. Usa un mecanismo de almacenamiento en búfer y registro que se implementa en el kernel para proporcionar un mecanismo de seguimiento para los eventos que generan las aplicaciones en modo de usuario y los controladores de dispositivos en modo kernel. Además, ETW proporciona la capacidad de habilitar y deshabilitar dinámicamente el registro, lo que facilita el seguimiento detallado en entornos de producción sin necesidad de reinicios ni reinicios de aplicaciones. El mecanismo de registro usa búferes por procesador que un subproceso de escritura asincrónico escribe en disco. Este almacenamiento en búfer permite a las aplicaciones de servidor a gran escala escribir eventos con una alteración mínima.

ETW se introdujo en Windows 2000. Desde entonces, varios componentes principales del sistema operativo y del servidor han adoptado ETW para instrumentar sus actividades. ETW es ahora una de las tecnologías clave de instrumentación en plataformas Windows. Un número creciente de aplicaciones de terceros usan ETW para la instrumentación y algunos aprovechan los eventos que proporciona Windows. ETW también se ha abstraido en la tecnología de seguimiento de software del preprocesador de Windows (WPP), que proporciona un conjunto de macros fáciles de usar para rastrear mensajes de estilo printf para la depuración durante el desarrollo.

ETW se actualizó significativamente para Windows Vista y Windows 7. Una de las nuevas características más importantes es el modelo de proveedor de eventos unificado y las API. En resumen, las nuevas API unificadas combinan trazas de registro y escritura en el Visor de eventos en un mecanismo coherente y fácil de usar para los proveedores de eventos. Al mismo tiempo, se han agregado varias características nuevas a ETW para mejorar las experiencias del desarrollador y del usuario final.

Para obtener más información sobre ETW y WPP, consulte Seguimiento de Eventos y Seguimiento de Eventos para Windows (ETW).

Soporte de USB para el registro ETW

USB es uno de los medios más frecuentes para conectar una variedad cada vez mayor de dispositivos periféricos a equipos. Hay una base muy grande instalada de equipos de host USB y dispositivos periféricos USB, y proveedores de sistemas, proveedores de dispositivos y usuarios finales esperan y exigen que los dispositivos USB funcionen perfectamente en el nivel de sistema y dispositivo.

La gran base instalada y la proliferación de dispositivos USB han descubierto problemas de compatibilidad entre la pila de software USB de Windows, el controlador de host USB y los dispositivos USB. Estos problemas de compatibilidad provocan molestias para los clientes, como fallos en el funcionamiento del dispositivo, bloqueos y caídas del sistema.

Ha sido difícil o imposible investigar y depurar problemas de dispositivos USB sin disponer de acceso directo al sistema y/o a los dispositivos, o, en algunos casos, de un volcado de sistema tras un fallo. Incluso con acceso total al hardware y un volcado de memoria, la extracción de la información pertinente ha sido una técnica que requiere mucho tiempo y que solo conocen unos pocos desarrolladores clave de controladores USB. Puede depurar problemas de USB mediante el uso de analizadores de hardware o software, pero son muy costosos y solo están disponibles para un pequeño porcentaje de profesionales.

Compatibilidad con ETW USB

ETW proporciona un mecanismo de registro de eventos que la pila de controladores USB puede aprovechar para ayudar a investigar, diagnosticar y depurar problemas relacionados con USB. El registro de eventos ETW de la pila de controladores USB admite la mayoría o todas las funcionalidades de depuración que ofrece el mecanismo de registro ad hoc existente en la misma pila, sin tener ninguna de sus limitaciones. Esto se traduce en la facilidad de depuración de problemas relacionados con USB, que deben proporcionar una pila de controladores USB más sólida a largo plazo.

Hemos agregado el registro ETW a los controladores del host USB y al controlador del concentrador USB. La capa del controlador del host USB incluye el controlador de puerto del host (usbport.sys) y los controladores de miniport (usbehci.sys, usbohci.sysy usbuhci.sys). La capa del controlador del concentrador USB consta del controlador del concentrador USB (usbhub.sys).

  • Eventos del hub USB

    Mientras la recopilación de eventos USB está habilitada, el proveedor de eventos del concentrador USB notifica la adición y eliminación de concentradores USB, los eventos resumidos del dispositivo de todos los concentradores y los cambios en el estado del puerto. Puede usar estos eventos para determinar la causa principal de la mayoría de los errores de enumeración de dispositivos.

  • Eventos de puerto USB

    Mientras la recopilación de eventos USB está habilitada, el proveedor de eventos del puerto USB informa sobre la E/S de los controladores de cliente, la apertura y cierre de los puntos de conexión del dispositivo y las transiciones de estado de miniport, como el inicio y la detención. La E/S registrada incluye solicitudes para el estado de los puertos USB físicos. Las transiciones de estado en puertos USB físicos son uno de los iniciadores clave de la actividad en la pila de controladores USB principal.

Windows proporciona una pila de controladores USB para admitir dispositivos USB 3.0. La pila de controladores USB 3.0 proporcionada por Microsoft consta de tres controladores: Usbxhci.sys, Ucx01000.sysy Usbhub3.sys. Los tres controladores funcionan juntos para agregar compatibilidad nativa a Windows para la mayoría de los controladores host USB 3.0. La nueva pila de controladores admite dispositivos SuperSpeed, de alta velocidad, de velocidad completa y de baja velocidad. A través de seguimientos de eventos, la pila de controladores USB 3.0 proporciona una vista de la actividad específica del controlador host y de todos los dispositivos conectados a él.

  • Eventos de USB Hub3

    Mientras la recopilación de eventos USB está habilitada, el proveedor de eventos USB Hub3 informa de la adición y eliminación de concentradores USB, los eventos de resumen del dispositivo de todos los concentradores, los cambios de estado del puerto y los estados de energía de los dispositivos y concentradores USB. Los cambios de estado del puerto son transiciones de estado en puertos USB físicos y son uno de los iniciadores clave de la actividad en la pila de controladores USB principal. Hub3 informa sobre las etapas del proceso de enumeración, que apuntan a la causa principal de la mayoría de los fallos en la enumeración de dispositivos. Con la palabra clave StateMachine habilitada, Hub3 informa de la actividad interna de la máquina de estado para los objetos de dispositivo de software, concentrador y puerto, que proporcionan una visibilidad más profunda de la lógica del controlador.

  • Eventos UCX de USB

    Mientras la recopilación de eventos USB está habilitada, el proveedor de eventos UCX USB informa de E/S desde controladores de cliente y apertura y cierre de puntos de conexión y flujos de puntos de conexión de dispositivo. Con la palabra clave StateMachine habilitada, UCX informa sobre la actividad interna de la máquina de estado para los objetos del controlador de host y de punto de conexión, los cuales brindan una visibilidad más profunda de la lógica del controlador.

  • Eventos de xHCI USB

    Mientras la recopilación de eventos USB está habilitada, el proveedor de eventos xHCI USB informa de las propiedades de los controladores xHCI del sistema y detalles de bajo nivel de la operación xHCI. xHCI notifica las solicitudes de comandos enviadas y completadas por el hardware xHCI, incluidos los códigos de finalización específicos de xHCI.

En esta sección

Tema Descripción
Cómo capturar un seguimiento de eventos USB con Logman En este tema se proporciona información sobre el uso de la herramienta Logman para capturar un seguimiento de eventos ETW USB. Logman es una herramienta de seguimiento integrada en Windows. Puede usar Logman para capturar eventos en un archivo de registro de seguimiento de eventos.
Uso de GUIDs de ID de actividad en trazas ETW USB En este tema se proporciona información sobre los GUID de id. de actividad, cómo agregar esos GUID en los proveedores de seguimiento de eventos y verlos en Netmon.
Seguimientos ETW USB en Netmon Puede ver seguimientos de eventos ETW USB mediante Microsoft Network Monitor, también conocido como Netmon. Netmon no analiza la traza automáticamente. Requiere analizadores ETW USB. Los analizadores ETW USB son archivos de texto, escritos en lenguaje NPL (Network Monitor Parser Language), que describen la estructura de trazas de eventos ETW USB. Los analizadores también definen columnas y filtros específicos de USB. Estos analizadores hacen que Netmon sea la mejor herramienta para analizar seguimientos ETW USB.
Uso de Xperf con USB ETW En este tema se describe cómo usar Xperf con Netmon para analizar los datos de seguimiento usb.
Administración de energía y ETW USB En este tema se proporciona información general breve sobre el uso de ETW para examinar el estado de suspensión selectiva usb e identificar problemas de eficiencia energética del sistema mediante la utilidad Windows PowerCfg.