When you connect a USB audio device to a Windows 10 Version 1703-based computer the first time, the operating system detects the device but loads the standard USB audio 2.0 driver (usbaudio2.sys) instead of the specific device driver. USB hub driver (Usbhub3.sys) is a KMDF driver. The hub driver is responsible for managing USB hubs and their ports, enumeration and creating physical device objects (PDOs) of USB devices and other hubs that may be attached to their downstream ports. Microsoft provides drivers for several USB device classes approved by USB-IF. These drivers and their installation files are included in Windows. They are available in the WindowsSystem32DriverStoreFileRepository folder. See, USB device class drivers included in.
-->Universal Serial Bus (USB) provides an expandable, hot-pluggable Plug and Play serial interface that ensures a standard, low-cost connection for peripheral devices such as keyboards, mice, joysticks, printers, scanners, storage devices, modems, and video conferencing cameras. Migration to USB is recommended for all peripheral devices that use legacy ports such as PS/2, serial, and parallel ports.
The USB-IF is a Special Interest Groups (SIGs) that maintains the Official USB Specification, test specifications and tools.
Windows operating systems include native support for USB host controllers, hubs, and devices and systems that comply with the official USB specification. Windows also provides programming interfaces that you can use to develop device drivers and applications that communicate with a USB device.
USB in WindowsWindows 10: What's new for USB Overview of new features and improvements in USB in Windows 10. USB FAQFrequently asked questions from driver developers about the USB stack and features that are supported in USB. Microsoft OS Descriptors for USB DevicesWindows defines MS OS descriptors that allows better enumeration when connected to system running Windows operating system Microsoft-provided USB driversUSB device-side drivers in WindowsA set of drivers for handling common function logic for USB devices. USB host-side drivers in WindowsMicrosoft provides a core stack of drivers that interoperate with devices that are connected to EHCI and xHCI controllers. USB-IF device class driversWindows provides in-box device class drivers for many USB-IF approved device classes, audio, mass storage, and so on. USB generic function driver–WinUSBWindows provides Winusb.sys that can be loaded as a function driver for a custom device and a function of a composite device. USB generic parent driver for composite devices–UsbccgpParent driver for USB devices with multiple functions. Usbccgp creates physical device objects (PDOs) for each of those functions. Those individual PDOs are managed by their respective USB function drivers, which could be the Winusb.sys driver or a USB device class driver. WDF extension for developing USB drivers
Get information about the tools that you can use to test your USB hardware or software, capture traces of operations and other system events, and observe how the USB driver stack responds to a request sent by a client driver or an application. Read an overview of tests in the Hardware Certification Kit that enable hardware vendors and device manufacturers to prepare their USB devices and host controllers for Windows Hardware Certification submission. Other Resources for USB Official USB SpecificationProvides complete technical details for the USB protocol. Microsoft Windows USB Core Team BlogCheck out posts written by the Microsoft USB Team. The blog focuses on the Windows USB driver stack that works with various USB Host controllers and USB hubs found in Windows PC. A useful resource for USB client driver developers and USB hardware designers understand the driver stack implementation, resolve common issues, and explain how to use tools for gathering traces and log files. OSR Online Lists - ntdevDiscussion list managed by OSR Online for kernel-mode driver developers. Windows Dev-Center for Hardware DevelopmentMiscellaneous resources based on frequently asked questions from developers who are new to developing USB devices and drivers that work with Windows operating systems. USB-related videos UWP apps for USB devicesUnderstanding USB 3.0 in Windows 8Building great USB 3.0 devicesUSB Debugging Innovations in Windows 8 (Part I, II, & III)USB hardware for learning MUTT devicesMUTT and SuperMUTT devices and the accompanying software package are integrated into the HCK suite of USB tests. They provide automated testing that can be used during the development cycle of USB controllers, devices and systems, especially stress testing. OSR USB FX2 Learning KitIf you are new to USB driver development. The kit is the most suitable to study USB samples included in this documentation set. You can get the learning kit from OSR Online Store. | Write a USB client driver (KMDF, UMDF) Introduces you to USB driver development. Provides information about choosing the most appropriate model for providing a USB driver for your device. This section also includes tutorials about writing your first user-mode and kernel-mode USB drivers by using the USB templates included with Microsoft Visual Studio. Write a USB host controller driverIf you are developing an xHCI host controller that is not compliant with the specification or developing a custom non-xHCI hardware (such as a virtual host controller), you can write a host controller driver that communicates with UCX. For example, consider a wireless dock that supports USB devices. The PC communicates with USB devices through the wireless dock by using USB over TCP as a transport.
You can develop a controller driver that handles all USB data transfers and commands sent by the host to the device. This driver communicates with the Microsoft-provided USB function controller extension (UFX). USB function class extension (UFX) reference Write a USB Type-C connector driverWindows 10 introduces support for the new USB connector: USB Type-C. You can write a driver for the connector that communicates with the Microsoft-provided class extension module: UcmCx to handle scenarios related to Type-C connectors such as, which ports support Type-C, which ports support power delivery. USB connector manager class extension (UcmCx) reference Write a USB dual-role controller driverUSB Dual Role controllers are now supported in Windows 10. Windows includes in-box client drivers for ChipIdea and Synopsys controllers. For other controllers, Microsoft provides a set of programming interfaces that allow the dual-role class extension (UrsCx) and its client driver to communicate with each other to handle the role-switching capability of a dual-role controller. For more information about this feature, see: USB dual-role controller driver programming reference Write a USB driver for emulated devicesWindows 10 introduces support for emulated devices. Now you can develop an emulated Universal Serial Bus (USB) host controller driver and a connected virtual USB device. Both components are combined into a single KMDF driver that communicates with the Microsoft-provided USB device emulation class extension (UdeCx). Emulated USB host controller driver programming reference Write a UWP appProvides step-by-step instructions about implementing USB features in a UWP app. To write such an app for a USB device you need Visual Studio and Microsoft Windows Software Development Kit (SDK) . Write a Windows desktop appDescribes how an application can call WinUSB Functions to communicate with a USB device. WinUSB functions Common programming scenariosList of common tasks that a driver or an app performs in order to communicate with a USB device. Get quick info about the programming interfaces you need for each task. USB samples Development tools Download kits and tools for Windows |
This topics in this section describe the class drivers, generic client driver, and the parent composite driver that are provided by Microsoft.
Microsoft-provided USB drivers for controllers and hubs
Microsoft provides these set of drivers:
Universal Box Usb Devices Driver Windows 7
- For USB host controllers and hubs. For more information, see USB host-side drivers in Windows. You can develop a custom host controller driver that communicates with the USB host controller extension (UCX) driver. For more information, see Developing Windows drivers for USB host controllers.
- For handling common function logic for USB devices. For more information, see USB device-side drivers in Windows.
- For supporting Type-C connectors. For more information, see USB connector manager class extension (UcmCx).
Other Microsoft-provided USB drivers
Device setup class | Microsoft-provided driver and INF | Windows support | Description |
---|---|---|---|
USB | Usbccgp.sys Usb.inf | Windows 8.1 Windows 8 Windows 7 Windows Vista Windows XP | Usbccgp.sys is a parent driver for composite devices that supports multiple functions. For more information, see USB Generic Parent Driver (Usbccgp.sys). |
Biometric | WudfUsbBID.dll WudfUsbBIDAdvanced.inf | Windows 8.1 Windows 8 | Microsoft supports USB biometric devices (fingerprint readers) by providing the Windows Biometric Framework. See the Windows Biometric Framework. |
Media Transfer Protocol Devices | Wpdusb.sys (Obsolete) | Windows Server 2008 Windows Vista Windows Server 2003 Windows XP | Note Starting in Windows 7, Microsoft has replaced the kernel mode component of the Windows Vista USB driver stack (Wpdusb.sys) for Windows Portable Devices (WPD) with the generic Winusb.sys. Microsoft provides the Wpdusb.sys driver to manage portable devices that support the Media Transfer Protocol. See WPD Design Guide. |
USBDevice | Winusb.sys Winusb.inf | Windows 8.1 Windows 8 Windows 7 Windows Vista Windows XP with Service Pack 2 (SP2) | Winusb.sys can be used as the USB device's function driver instead of implementing a driver. See WinUSB. |
Microsoft-provided USB device class drivers
Microsoft provides drivers for several USB device classes approved by USB-IF. These drivers and their installation files are included in Windows. They are available in the WindowsSystem32DriverStoreFileRepository folder.
See, USB device class drivers included in Windows.
Related topics
Install Drivers For Usb Port
Universal Serial Bus (USB)
USB Driver Development Guide