USB Driver Documentation Updates in the MSDN Library

Hello, I am a writer on the Windows Driver Kit team. In this post, I will provide a summary of recent changes that we have made to the USB driver documentation in the MSDN library. The USB team recently reviewed the entire USB documentation set and recommended changes to improve quality and accuracy. As a…

2

Multi-config USB devices and Windows

(This post was temporarily unavailable during some of the recent MSDN Blogs site changes.)   Part of the USB device framework is the ability of a device to expose “configurations,” mutually exclusive definitions of what the device can do. Each configuration exposes its own: ·        Set of USB interfaces and endpoints, ·        Device power requirements,…

4

Known Hardware Issues – April 2010

We are going to start a new blog series called “Known Hardware Issues” where we will try to inform the industry about issues in USB hardware (USB controllers, chipset, firmware, device) that leads to operating system crash. This blog talks about two such issues: 1.       BUGCODE_USB_DRIVER (0xFE) crash on systems that has certain AMD EHCI controllers…

1

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