USB devices Windows will not recognise
Read the error code, find which controller the port belongs to, and fix the power-management causes before reinstalling anything.
- Build
- 26300.9457 / 26100.33650
- Edition
- Pro (26H2) / Server
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-29
- Page type
- Troubleshoot
The short answer
Section titled “The short answer”“USB device not recognized” is a symptom with four common causes, in descending order:
- Power management suspending a hub or the device.
- Port/controller problem — a hub, a front-panel header, or a shared controller.
- Cable or connector — charge-only cables, worn ports.
- Driver — only when the device enumerates but has no driver.
Start at 1. Most “broken USB” is a power setting.
Read the actual error
Section titled “Read the actual error”Get-PnpDevice | Where-Object Status -ne 'OK' | Select-Object FriendlyName,Status,Class,InstanceId,Problem,ProblemDescription| Code | Meaning | First move |
|---|---|---|
| Code 10 | cannot start | driver or power |
| Code 43 | reported failure | device reset, cable, port |
| Code 28 | no driver installed | install the vendor driver |
| Code 45 | not connected | replug, check the port |
| Code 31 / 32 | driver load failed | reinstall driver |
InstanceId tells you the topology: USB\VID_xxxx&PID_yyyy\... for the device, USB\ROOT_HUB30\... for the controller.
Kill the power-management suspects first
Section titled “Kill the power-management suspects first”# hubs and devices allowed to be suspendedGet-CimInstance -Namespace root\wmi -ClassName MSPower_DeviceEnable | Where-Object Enable -eq $true | Select-Object InstanceName,EnableThen, per hub in Device Manager → Universal Serial Bus controllers → hub → Power Management, uncheck Allow the computer to turn off this device to save power — and do the same for the specific device.
For a device that drops under load (external SSD, capture card), this alone often fixes it.
Find which controller the port belongs to
Section titled “Find which controller the port belongs to”USB ports are grouped behind controllers, and controllers share bandwidth.
Get-CimInstance Win32_USBController | Select-Object Name,DeviceIDGet-CimInstance Win32_USBControllerDevice | ForEach-Object { [wmi]($_.Dependent) } | Select-Object Name,DeviceIDIn Device Manager → View → Devices by connection, expand the controller and watch which port the device appears under when you plug it in. Moving it to a different controller is the cheapest fix for “two devices fight each other”.
Cable and connector
Section titled “Cable and connector”- Charge-only cables have no data lines. They charge a phone and fail with everything else.
- USB-C to USB-C cables differ in rated power and data — a 60W charging cable may be USB 2.0 data.
- Worn ports make contact intermittently; try a different port on the same machine.
When it really is the driver
Section titled “When it really is the driver”Only after the device enumerates (appears in Device Manager with a name, not “Unknown device”):
- Note the hardware ID:
Get-PnpDevice -Status Error | Select-Object InstanceId. - Get the vendor driver for that exact ID.
- Uninstall the device with Delete the driver software if offered, reboot, install.
Related
Section titled “Related”Lab boundary
Section titled “Lab boundary”E1. USB enumeration and power management are documented by Microsoft. The lab VMs expose virtual USB devices only, so no controller-level fault was reproduced.