How to Generate a Container ID for a USB Device

Hi, I’m Kristina Hotz, a Program Manager on the USB team.  In this post, I’ll explain how you can create a container ID for a USB device by using the same mechanism as Windows 7.   You will find the information useful if you are developing a USB driver stack that replaces the Microsoft-provided USB…


Setting Up Kernel Debugging with USB 2.0

Hello, my name is Yang You and I am a program manager for USB Diagnostics. One of the questions we often receive is: How do I use USB for kernel debugging for testing drivers and diagnosing system crashes. There are several ways to debug Windows. You can use a COM/Serial port, a 1394/Firewire cable, or…


USB-IF Testing Requirement in Windows Logo Kit

Hello, Today I’d like to share with you a change we are making to the Windows Logo Kit requirements for USB-IF testing. The requirements impacted are: Connect-0093: USB IF tests are passing or device is USB IF certified. (Effective June 1, 2011) Busport-0034: USB IF tests are passing or USB Host controller is USB IF…


Reasons to avoid companion controllers

  Hello, My name is Jane Lawrence and I am a program manager for USB Compatibility and USB Windows Logo Kit. In today’s blog post, I’ll be covering companion controllers. This content is targeted primarily towards hardware designers and chipset manufacturers. If you work with firmware or software, like devices and drivers, you are welcome…


How to recover from USB errors? (Part 1)

A USB client driver sends in and out transfers to its device. At times transfers to/from the device fail and the client driver needs to recover from the error condition. Failure may be due to a legitimate error response from the USB device (e.g. transfer failed with status USBD_STATUS_STALL_PID) or it may be unexpected (e.g….


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…


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,…


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…


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…


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…