New whitepaper on USB Event Tracing

We covered in previous blogs how to get trace events from core USB stack and view them using netmon, and then described how to read and filter these events in netmon to quickly identify a device problem.  This paper builds on this information and tries to provide a comprehensive story on USB event tracing with…

1

How to generate and view a 1394 debug log

Updated 7/12/2011 with Windows 7 SP1 format data (in addition to RTM format data) Hello, my name is Don Miller.  I am a software developer on the Windows USB team but also I am the developer responsible for the Windows 1394 driver stack.  In this blog post, I’m going to describe how to get debug…

6

How to generate and view a WinUSB debug trace log

Updated 7/12/2011 with Windows 7 SP1 format data (in addition to RTM format data) Hello, my name is Don Miller.  I am a software developer on the Windows USB team.  In this blog post, I’m going to describe how to get debug trace messages from WINUSB.SYS driver. WinUSB is a generic USB driver provided by…

21

Answering the question "What’s wrong with my device?" using USB trace messages

2012-10-23: This post is about USB 2.0 driver stack tracing. Many of the techniques here also apply to USB 3.0 driver stack tracing in Windows 8; for more information, see our recent blog post on USB 3.0 driver stack tracing. This is Philip Ries posting again with more on the USB tracing that’s new in…

6

USB Bugcheck FE: BAD_URB (Double URB Submit) – What is it and how to avoid it?

Hello Readers,   I am Pankaj Gupta, a developer in the core USB team at Microsoft. In this blog I am going to talk about what a Double URB Submit bugcheck is. I will present a case study demonstrating how some real world drivers end up with this error. And of course I will discuss…

0

What is the right way to read and parse configuration descriptors?

Hi, my name is Fizalkhan Peermohamed. I am a Developer in the Windows USB team. In this post, I am going to describe the right way to read and parse configuration descriptors to avoid system crashes due to malformed descriptors.   First, I will describe how client drivers today retreive configuration descriptors from a device, then…

4

ETW in the Windows 7 USB core stack

Hi, my name is Philip Ries and I’m also a developer on the USB core team. I’d like to tell you about the instrumentation that our team added to the USB core drivers for Windows 7, and how you can make use of this instrumentation. The USB Hub and USB Port drivers are instrumented with…

26

List of the latest USB hotfixes for each Windows version

Hello, my name is Don Miller.  I am a software developer on the Windows USB team.  In this post my goal is to provide a USB end-user with a way to view the most recent USB public hotfixes for the below Windows releases: Windows 2000 Service Pack 4 Windows XP Service Pack 3 Windows 2003…

10

Why is my USB device not detected or comes up as "Unknown Device"?

Hi, this is Martin Borve from the USB team. In the previous blog, I gave a detailed description on how the device gets enumerated by the core USB stack and reported to the OS. In this post, I’m going to summarize which incorrect hardware behaviors during enumeration causes the core stack to abandon the device and which ones lead to reporting the device…

31

How does USB stack enumerate a device?

Hello, my name is Martin Borve.  I am a software developer on the Windows USB team.  In this post I will provide a detailed description of the enumeration process used by the Windows 7 core USB driver stack – from the point the stack detects a presence of device to the point it indicates to…

14