Microsoft provides several USB drivers for Windows found in “\Windows\System32\DriverStore\FileRepository”. These drivers are designed to provide basic functionalities and ensure compatibility between the operating system and USB peripherals. USB-IF signs all these drivers – The developers of Universal Serial Bus (USB), who are responsible for testing the USB devices.
Today’s post discusses the following Microsoft’s “USB drivers”:
- USB Driver Stack.
- USB 3.0 Host Controller Driver (Usbxhci.sys).
- Generic Parent Driver (Usbccgp.sys).
- USB Mass Storage Class Driver (Usbstor.sys).
- USB Printer Class Driver (Usbprint.sys).
- USB Human Interface Device (HID) Class Driver (Hidclass.sys).
USB Driver Stack
Windows’s “USB Driver Stack” includes USB host controllers, hubs, and device drivers. The USB host controller driver is responsible for handling the communication between the USB host controller hardware and the operating system. It provides the required functions such as detecting USB devices, managing power, and data transfers. The latest among them is the “USB 3.0 Driver Stack”.
USB 3.0 Host Controller Driver (Usbxhci.sys)
The “USB 3.0” drivers are developed by Microsoft using the “Kernel Mode Driver Framework or KMDF interfaces”. The overall goal was to reduce complexity while improving the driver’s stability. The host controller’s driver is “xHCI” – Host controller is a driver or interface that enables communication between the USB devices and the host system.
The main function of the “xHCI” or “Extensible Device Controller Interface” is to define the “Device Controller” for USB 3.0 devices. It works in such a way that once a device is connected to a “USB 3.0” port, the “xHCI” is automatically activated in that device and the communication starts with the host.
Generic Parent Driver (Usbccgp.sys)
The “Generic Parent Driver” or “Usbccgp.sys” driver allows multiple USB devices to be supported by a single USB composite device. It manages different functions and interfaces of a composite device and presents them to the operating system as separate devices. It is included in the older version of Windows – Windows “XP”, “7”, “8”, and “8.1”. “Usbccgp.sys” was first released for Windows Vista back in 2006 and the current version is “v10.0.15063.0” which is also supported in Windows 10.
USB Mass Storage Class Driver (Usbstor.sys)
The “USB Mass Storage Class Driver (Usbstor.sys)” driver supports USB storage devices such as external hard drives, USB flash drives, and memory card readers. It enables the operating system to recognize and access the storage functions of these devices.
“Usbstor.sys” is defined as the file extension that is widely known as the mass storage driver file. It was introduced in Microsoft Windows Vista back in 2006. The latest version of “Usbstor.sys” is “v10.0.15063.0” which is now only supported in Windows 8, 8.1, and Windows 10.
USB Printer Class Driver (Usbprint.sys)
The “USB Printer Class Driver (Usbprint.sys)” driver allows the Windows OS to communicate with USB printers using the “Printer Device Class (PDC)” protocol. It allows printing functionality to be used with compatible USB printers without the need for specific manufacturer-provided drivers.
It is basically a communication channel between printers and drivers installed on Microsoft Windows. The “Usbprint.sys” operates as a service that works fine in older versions of Windows (no new updates) and the latest version for Windows 10 is “v10.0.15063.0”.
USB Human Interface Device (HID) Class Driver (Hidclass.sys)
The “USB Human Interface Device (HID) Class Driver (Hidclass.sys)” driver enables Windows to interface with USB input devices such as keyboards, mice, game controllers, and touchscreens. It provides a standard interface for these devices, thereby allowing the operating system to receive input and control functions.
The Microsoft-provided USB drivers include “System-Supplied USB Drivers”, “USB 3.0 host controller driver(Usbxhci.sys)”, “Generic Parent Driver (Usbccgp.sys)”, “USB Printer Class Driver (Usbprint.sys)”, and “USB Human Interface Device (HID) Class Driver (Hidclass.sys)”. These drivers are signed by “USB-IF” and are responsible for providing the basic functionality while ensuring compatibility between the operating system and USB peripherals. This blog elaborated on the Microsoft-provided USB drivers.