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…

30

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…

13

How can I fix a device that doesn’t work after system resume?

Hi, this is Vivek Gupta again from the USB team. In my last post on whether devices get reset on system resume, I talked about how some devices might get negatively impacted by the behavioral changes in USB core stack in Windows7. To make it easier for users to fix such devices, we have extended…

11

Do USB devices get reset on system sleep resume?

Hi, my name is Vivek Gupta. I am a developer on the USB team. In this article, I am going to discuss a behavioral change introduced in Windows7 USB core stack and how it affects USB devices. Old behavior: In Vista RTM, when the system resumed from sleep, the USB stack used to reset the…

5

What’s the difference between USBSAMP and OSRUSBFX2 sample?

Hi, this is Qiang Qiu again from USB core test team. Last week, I wrote about how to get started with USB driver development and gave an overview of highly used samples in the WDK. In this article, I’m going to list out the features side-by-side of two most important KMDF based USB samples, namely…

3