A blue screen with BUGCODE_USB_DRIVER means something in the USB driver stack failed. It often appears the moment you plug in a device, wake the PC from sleep, or copy a large file to an external drive, which is a useful clue rather than a coincidence.
This guide explains what the stop code parameters tell you and how to find the actual culprit, whether it is a device, a cable, a controller driver, or a power setting.
The stop code 0x000000FE indicates that an error occurred in a universal serial bus driver. That is deliberately broad, because the failure can originate in the client driver for a device, the USB hub driver, the port driver, or the host controller itself.
What makes this stop code manageable is that the parameters identify the specific kind of failure. Realistic causes are short:
The first parameter on the blue screen names the type of violation. The most relevant values are these:
| Parameter 1 | Meaning |
|---|---|
| 0x1 | An internal error occurred somewhere in the USB stack. |
| 0x2 | A client driver submitted a request that is still attached to another request pending in the bus driver. |
| 0x3 | The USB miniport driver generated the bug check, usually in response to a hardware failure. |
| 0x4 | The caller submitted a request that was already pending in the USB bus driver. |
| 0x5 | A hardware failure caused by a bad physical address in a hardware data structure. |
| 0x6 | An internal data structure was corrupted. |
| 0x7 | A debug log entry from the port driver contains a message string and file name worth reading. |
| 0x8 | A serious condition in the hub. When Parameter 2 is 6, Parameter 3 carries a time-out code. |
Step 1. Write down Parameter 1 from the blue screen or read it from the dump later.
Step 2. If Parameter 1 is 0x8 and Parameter 2 is 6, look at Parameter 3. A time-out code in the range 1 to 10 points at power and resume problems, such as a port that failed to resume from a suspended state or a hub that timed out while returning from selective suspend.
Step 3. If Parameter 1 is 0x5 or 0x3, treat it as a hardware-side failure and focus on the controller, the device, and the cable rather than on software.
Step 4. If Parameter 1 is 0x2 or 0x4, a specific driver submitted a request incorrectly, so updating or removing that device's driver is the priority.
This step costs nothing and resolves a large share of cases.
Step 1. Disconnect every USB device except the keyboard and mouse, then test for a while. If the crashes stop, reconnect devices one at a time, leaving each connected long enough to trigger the fault.
Step 2. When you identify a suspect device, move it to a different port. Prefer a port on the back of a desktop, which is wired directly to the motherboard, over a front-panel port.
Step 3. Connect the device directly rather than through a hub, an extension cable, or a dock. Hubs are a frequent cause of this stop code because they add another layer to the USB stack.
Step 4. Replace the cable. A marginal or damaged cable produces exactly the kind of low-level failure that reaches this bug check.
Step 5. For external hard drives, check the power budget. A 3.5-inch drive needs its own power adapter, and a 2.5-inch drive may need a powered hub or a Y-cable if a single port cannot supply enough current.
Step 6. Test the suspect device on another computer. If it fails there too, the device is faulty and no Windows change will fix it.
Rebuilding the USB entries in Device Manager clears corrupted states and leftover driver files.
Step 1. Press Win + X and open Device Manager.
Step 2. Expand Universal Serial Bus controllers. You will see entries such as USB Root Hub, Generic USB Hub, and USB xHCI Compliant Host Controller.
Step 3. Right-click each entry in turn and choose Uninstall device. Do not tick any box that offers to delete driver software unless you have a replacement driver downloaded and ready.
Step 4. Restart the PC. Windows reinstalls the controllers and hubs automatically on the next boot.
Step 5. To reveal devices that are no longer connected, run set devmgr_show_nonpresent_devices=1 from an elevated Command Prompt, then open Device Manager and enable View > Show hidden devices. Greyed-out USB entries are leftovers from old hardware and can be removed safely.
Step 6. If any device still shows a warning triangle, open its properties, read the events, and update or roll back its driver directly.
Selective suspend lets Windows power down idle USB ports. When a port or hub cannot resume cleanly, the result is precisely the time-out pattern this stop code reports.
Step 1. Open Control Panel > Power Options > "Change plan settings" > "Change advanced power settings".
Step 2. Expand USB settings > USB selective suspend setting and set it to Disabled for both battery and plugged in.
Step 3. In Device Manager, open the properties of each USB Root Hub and open the Power Management tab. Clear "Allow the computer to turn off this device to save power".
Step 4. Restart and test, especially the scenario that used to crash, such as waking the PC from sleep with a device attached.
Step 5. Advanced users can apply the same change from the command line by setting the USB selective suspend index to 0 for the current power scheme, then activating the scheme again. Back up your settings first so you can restore them.
Step 1. Open Device Manager and look for any device that was updated recently. Right-click it, open Properties > Driver, and use Roll Back Driver if the button is available. Prioritise chipset, storage controller, and network drivers, since these often carry USB-related components.
Step 2. Download and install the latest chipset and management engine driver from your PC or motherboard manufacturer's support page. These packages contain the USB controller drivers that Windows uses.
Step 3. Update the BIOS or UEFI firmware. Some systems need a firmware update for their USB controller to behave correctly with modern devices, and some boards expose an XHCI Handoff option worth enabling when a legacy operating system hand-off is involved.
Step 4. Install all pending Windows updates, since USB stack fixes ship through cumulative updates as well.
Step 5. Remove third-party software that installs USB filter drivers, such as phone management suites, virtual COM port tools, and keyboard or mouse macro utilities. If the crashes began after installing one, uninstall it and retest.
Step 1. Repair system files from an elevated Command Prompt:
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
Step 2. Check the system drive with chkdsk C: /f /r and review its S.M.A.R.T. values. A drive that stalls during a large USB transfer can pull the USB stack into a failure.
Step 3. Test the memory with mdsched.exe, then repeat with bootable media for several passes. Memory corruption can surface anywhere, including inside USB data structures.
Step 4. Open C:\Windows\Minidump and open the newest file in a debugger. Run !analyze -v and read the module it names. Files such as usbhub.sys, usbport.sys, or a vendor controller driver tell you exactly where to focus.
Step 5. Compare two or three dumps. The same module appearing each time is reliable evidence, while a different module each time points back to hardware or memory.
Step 6. If the crashes began after a system change, use System Restore to return to a point before they started. This keeps your files and is far less disruptive than reinstalling Windows.
It can be either. A faulty device, cable, or controller produces it, and so does a buggy or outdated USB driver. The parameters and the isolation steps tell you which side you are on.
That pattern points at the device, its cable, or its driver. Move it to another port, replace the cable, and test it on a second computer to separate a device fault from a Windows fault.
Yes. Unpowered or low-quality hubs add another layer to the USB stack and frequently trigger this stop code, especially under load. Connect devices directly where possible.
Because resuming ports and hubs from a suspended state is exactly where USB power management fails. Time-out codes in Parameter 3 typically describe this scenario, and disabling selective suspend often resolves it.
No. Work through device isolation, controller reinstallation, power settings, and driver updates first. Reinstalling is a last resort and rarely addresses a hardware cause.
Open the minidump from C:\Windows\Minidump in a debugger and run !analyze -v. The module named in the output, for example usbhub.sys or a vendor controller driver, is where to look first.
Repeated blue screens put open documents and system files at risk, especially when they happen during a file transfer to an external drive. Create a full system backup before you start reinstalling controllers or flashing firmware. Qiling Disk Master handles both the backup and the restore.
Step 1. Install and open Qiling Disk Master. On the home screen, open "Backup and Recovery" and choose "System Backup". This option automatically includes Windows and the hidden boot partitions, so you do not have to select them one by one.

Step 2. Check the source. The disk where Windows is installed and its system partitions are already ticked for you. If you only need your personal documents, run a separate "File Backup" task instead.

Step 3. Click the destination box and choose where the image should be saved. Use an external HDD or SSD, a NAS, or any drive other than the one Windows is installed on, and make sure it has enough free space.

Step 4. Review the task summary and click "Proceed". Wait until the progress bar reaches 100%. Do not unplug the drive or turn off the PC while the backup is running.

Step 1. Open Qiling Disk Master again, go to "Backup and Recovery", and select the recovery option. Your backup images are listed, so pick the one you created before the troubleshooting began.

Step 2. Choose the target disk or partition. Normally you restore to the original system disk. If the drive was replaced, select the new disk instead, and the restore rebuilds Windows together with its boot partitions.

Step 3. Preview the restore plan, click "Proceed", and confirm the warning. The PC restarts to finish the job, and Windows comes back exactly as it was on the day the image was created, with your files and programs intact.

BUGCODE_USB_DRIVER means the USB driver stack failed, and the parameters tell you which kind of failure it was. Start by isolating the device, cable, and port, then reinstall the USB controllers and hubs, disable USB selective suspend, and update your chipset and BIOS. If crashes continue, repair Windows files and read the minidump with a debugger, where the named module, such as usbhub.sys or usbport.sys, points directly at the component to fix.
Protect your PC with Qiling Backup—create a system image before your next troubleshooting step.