Skip to content

USB devices Windows will not recognise

Verified 2 min read

Read the error code, find which controller the port belongs to, and fix the power-management causes before reinstalling anything.

Tested onPro (26H2) / Server · Build 26300.9457 / 26100.33650 · x64
E1
Build
26300.9457 / 26100.33650
Edition
Pro (26H2) / Server
Architecture
x64
Support
Documentation (E1)
Evidence
E1Official documentation
Verified
2026-10-29
Page type
Troubleshoot

“USB device not recognized” is a symptom with four common causes, in descending order:

  1. Power management suspending a hub or the device.
  2. Port/controller problem — a hub, a front-panel header, or a shared controller.
  3. Cable or connector — charge-only cables, worn ports.
  4. Driver — only when the device enumerates but has no driver.

Start at 1. Most “broken USB” is a power setting.

Terminal window
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.

Terminal window
# hubs and devices allowed to be suspended
Get-CimInstance -Namespace root\wmi -ClassName MSPower_DeviceEnable |
Where-Object Enable -eq $true | Select-Object InstanceName,Enable

Then, 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.

USB ports are grouped behind controllers, and controllers share bandwidth.

Terminal window
Get-CimInstance Win32_USBController | Select-Object Name,DeviceID
Get-CimInstance Win32_USBControllerDevice |
ForEach-Object { [wmi]($_.Dependent) } |
Select-Object Name,DeviceID

In 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”.

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

Only after the device enumerates (appears in Device Manager with a name, not “Unknown device”):

  1. Note the hardware ID: Get-PnpDevice -Status Error | Select-Object InstanceId.
  2. Get the vendor driver for that exact ID.
  3. Uninstall the device with Delete the driver software if offered, reboot, install.

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.

Sources