Skip to main content

USB drivers

Fix unrecognized USB devices, slow transfer speeds, and port power issues.

Connectivity Windows 11, Windows 10 Reviewed Aug 18, 2026
three connectors in a row — USB-A, USB-C, USB-B shown with cables curving away, pins and shells visible, not a flash drive

You might also need

USB drivers we cover

What does a usb driver do?

A USB xHCI controller driver operates the eXtensible Host Controller Interface, the single host-controller design that replaced the older UHCI, OHCI, and EHCI controllers and now drives every USB speed on a modern PC. The driver programs the controller's registers, sets up the Transfer Request Block rings the controller reads to move data, and services the interrupts the controller raises when a transfer completes. It is the root of the whole USB tree your ports hang from.

Enumeration is the driver's headline task. When you plug in a device, the controller detects the connection, the driver assigns an address, then reads the device descriptor, configuration descriptor, and interface descriptors to learn what the device is and what endpoints it offers. The dreaded 'Unknown USB Device, device descriptor request failed' means this conversation broke down before Windows could identify the device.

Read the full usb xhci controller driver explainer

Why keeping it updated matters

The USB stack juggles an enormous variety of devices at very different speeds on one controller, so its driver is patched to fix a long tail of compatibility and power bugs. A very common one is selective suspend applied too eagerly, which puts an external drive or dongle to sleep mid-use so it disconnects and reconnects. Updated drivers ship better suspend heuristics, and running a current build is how that fix reaches your controller.

Enumeration reliability is the second reason. New devices, unusual hubs, and long cable chains stress the descriptor-reading conversation, and a stale driver is more likely to time out with 'device descriptor request failed'. Refreshed builds harden that handshake and add quirks for specific devices, so a gadget that would not enumerate on the old driver is recognised on the new one.

Common warning signs of usb driver failure

  • A device shows as 'Unknown USB Device' with 'device descriptor request failed', so Windows never identifies it
  • External USB drives disconnect and reconnect on their own because selective suspend puts them to sleep mid-transfer
  • Every port on the controller stops responding at once until the machine is rebooted or the controller is reset
  • A USB 3.2 drive transfers at USB 2.0 speeds because it enumerated on the wrong root hub or at the wrong speed
  • Windows warns of a 'power surge on hub port' when a device draws more current than the port budget allows
  • The xHCI controller shows Code 43 after sleep, or Code 10, and disabling then enabling it is the only recovery

How to fix usb driver problems

1

Reset the controller to clear hung ports

In Device Manager, expand Universal Serial Bus controllers, right-click the xHCI host controller, choose Disable device, wait a moment, then Enable device. This re-initialises the controller's TRB rings and clears a state where every port has stopped responding.

2

Turn off selective suspend for a dropping device

In the Power Options advanced settings, set USB selective suspend to Disabled, and on the device's Power Management tab clear 'Allow the computer to turn off this device to save power'. This stops a drive being suspended mid-transfer.

3

Force re-enumeration of a failed device

Unplug the device, then in Device Manager delete the 'Unknown USB Device' entry and choose Scan for hardware changes before replugging. This makes the driver repeat the descriptor conversation from a clean state, often clearing a one-off enumeration failure.

4

Reinstall the xHCI controller driver cleanly

Right-click the host controller, choose Uninstall device, then reboot so Windows reinstalls the controller and rebuilds the whole USB tree beneath it. This clears corrupted registry keys behind a Code 10 or a controller that will not start.

See every step in detail

Error codes linked to this hardware

Helpful guides

Frequently asked questions

Why does my USB device show 'device descriptor request failed' and stay unknown?

That error means the xHCI driver could not complete the enumeration conversation that reads the device's descriptors, so Windows never identified it. Deleting the Unknown USB Device entry and re-scanning forces a clean enumeration, and an updated controller driver hardens the handshake for stubborn devices and hubs.

Why do my external USB drives keep disconnecting and reconnecting on their own?

Self-disconnecting drives are almost always a victim of USB selective suspend putting the port to sleep mid-use. Disabling selective suspend in Power Options and clearing 'Allow the computer to turn off this device' on the drive's Power Management tab stops the spurious drops.

Why do all my USB ports stop responding at once until I reboot?

When every port dies together the fault is at the shared xHCI controller, not any single device, usually a hung TRB ring or interrupt state. Disabling then enabling the host controller in Device Manager resets it without a reboot, and a current driver reduces how often the hang recurs.