Capturing USB Debug Traces

By Philip Froese [MSFT] [Update 11/2016] The commands outlined in this post are now published in the USB and HID trace capture script available at http://aka.ms/usbtrace. Previous blog posts have described in detail how to capture and read USB ETW, and WPP traces.  This post is a supplement to those, and aggregates the trace capture commands into a condensed…

3

How to Capture and Read HID Traces in Windows 8.1

By Andrea Keating [MSFT] and Arvind Aiyar [MSFT] A common class of USB devices is the Human Interface Device (HID) class for peripherals such as keyboards, mice, game controllers etc. In Windows, the driver model for HID follows a port-miniport model with a class driver – hidclass.sys and miniport drivers like hidusb.sys, hidi2c.sys, hidbth.sys etc….

2

Reducing the size of HID descriptors

Authored by Arvind Aiyar [MSFT] One of the descriptors that a USB HID device needs to support is the HID Report Descriptor. HID devices transmit data using HID reports, and the Report Descriptor is the blueprint for interpreting the data that is being sent across the wire. Typically, a USB Host will request the HID…

3

Windows 8.1: USB MIDI Device Works on USB 2.0 Port, Doesn’t Work on USB 3.0 Port

Last update: September 2nd 2014 Note: A fix for this issue is included in August 2014 update rollup. Please apply the update using this link http://support.microsoft.com/kb/2975719.  After the fix is applied, the timestamp on c:\windows\system32\drivers\usbhub3.sys should be 7/24/2014 or later. Some USB MIDI devices have been found to not function correctly when plugged into a USB 3.0…

26

Help! After installing Windows 8.1, my device fails with error code 19

Authored by Eliyas Yakub [MSFT] One of the common issues reported in Microsoft answer forum for devices and drivers is: after upgrading to Windows 8.1 or installing software package from a third-party Web site, some devices fail with error code 19 (shown in Device Manager). The error code description is “Windows cannot start this hardware…

17

Why does my USB device work on Windows 8.0 but fail on Windows 8.1 with code 43?

Authored by Martin Borve [MSFT] Updated 1/27/2014 by Philip Ries to show how to use Message Analyzer and its latest parsers to more easily diagnose the problem. Updated 7/10/2014 by Vivek Gupta to include the Workaround information. A few USB devices when connected to a port of an Enhanced Host Controller (EHCI) might not enumerate…

126

Link Power Management (LPM) in USB 2.0

Authored by Vivek Gupta [MSFT] In this blog, I’ll provide an overview of the USB 2.0 Link Power Management (LPM) feature and how it can be used with the Selective Suspend mechanism to reduce system power consumption. I’ll also describe the common pitfalls in LPM implementation in USB controllers and devices. Finally, I’ll describe the…

4

Capturing USB ETW traces with Microsoft Message Analyzer (MMA)

Authored by Andrea Keating [MSFT] & Eliyas Yakub [MSFT] [Updated 4/24/2017 with new download location) The new Microsoft Message Analyzer (MMA) is now available. You can use MMA to capture and view ETW traces, all from a GUI instead of capturing traces by using the command line tool, logman, and then parsing them in Netmon…

3

Help! After installing Windows 8.1, my USB device doesn’t charge or it disconnects and reconnects frequently…

Authored by MJ Bustamante [MSFT] In Windows 8.1, to conserve power, Human Interface Devices (HID) that connect through USB, are suspended when no application or service is accessing the device. Suspending an idle device helps extend the battery life of mobile computers. However, when suspended, some devices stop charging while plugged into the computer, they…

48