Announcing the availability of a standalone legacy 1394 OHCI (FireWire) package

By Koichi Hirao [MSFT] We are pleased to announce the immediate availability of a standalone legacy 1394 OHCI (FireWire) package for Windows 8/8.1. Starting with Windows 7, we’ve been providing native support for a 1394 driver stack that is based on the Windows Driver Framework (WDF).  And this driver stack supports the legacy 1394 (aka…


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…


How to install WinUSB.sys without a custom INF?

Authored by Eliyas Yakub [MSFT] and Qiang Qiu [MSFT] WinUSB is a Microsoft-provided kernel-mode client driver for USB devices. If you are developing a USB device for which Windows doesn’t include an in-box class driver, you can use Winusb.sys as the device driver instead of writing your own driver. In this blog, we’ll explain how…


Several inbox USB drivers may not get updated on upgrade from Win7 RTM to Win7 SP1

When upgrading from Windows 7 RTM to SP1 on a clean Windows 7 RTM build, binaries such as usbport.sys, usbehci.sys and winusb.sys may not get updated. Machines that have INF files from OEMs to install USB drivers with a custom description will not get affected. This issue doesn’t exist if you use a slipstream version…


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


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…


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…


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…


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…