Code 31: "Windows cannot load the drivers required for this device"
DeviceInBox editorial team · Last updated October 6, 2026
"This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)" means a driver is assigned to the device, but Windows refused to load it. The device has a name and sits in its proper category, which is what separates Code 31 from the missing-driver errors. Something about the installed driver, or about the registry entries around it, stops it from starting.
Reinstall the driver cleanly
A damaged driver store entry is the most common cause, and a clean reinstall fixes it more often than anything else.
- Right-click the device, choose Uninstall device and tick "Attempt to remove the driver for this device".
- Restart. Windows reinstalls its own driver for the device on the way up.
- If the device still fails, install a package that matches the hardware ID (how to find the ID) rather than letting Windows pick.
Leftover filter drivers
Code 31 on every device of one class, for example all network adapters at once or all CD drives, points at a filter driver. Filters are small drivers that attach to a whole device class; VPN clients, older antivirus suites, CD burning tools and audio enhancers install them, and an unclean uninstall leaves the registry pointing at a driver file that no longer exists.
- Uninstall the software that owned the filter, usually a VPN client or a security suite, and restart.
- If that does not help, create a restore point. Then open
regeditand go toHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class. - Find the subkey whose Class value matches the failing device class, for example Net for network adapters. Export it as a backup.
- Delete the UpperFilters and LowerFilters values in that key only if they name software you no longer have, then restart.
Code 31 on network adapters
On network adapters Code 31 is often paired with a broken network stack. After the driver reinstall, open an administrator Command Prompt and run these, then restart:
netsh winsock reset
netsh int ip reset
ipconfig /flushdns
When several unrelated devices fail together
Code 31 across devices that have nothing in common usually means system files or the driver store are damaged. Run these from an administrator prompt, in this order, and restart afterwards:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
If the errors started on a specific day, System Restore to a point before that day is faster than chasing the cause. In Windows 11, Settings, System, Recovery also offers "Fix problems using Windows Update", which reinstalls the current build without touching files.
Check Memory integrity
Windows Security, Device security, Core isolation. If Memory integrity is on and the device driver is on its incompatible list, the driver will not load, and the device reports Code 31 or Code 39. The fix is a newer driver for that device, not turning the protection off.
Related: Code 10, Code 39 and Code 52.
More guides
- Find your hardware ID
- Unknown USB Device (Device Descriptor Request Failed)
- Code 43: device reported problems
- Code 10: this device cannot start
- SM Bus Controller driver
- PCI Simple Communications Controller
- PCI Data Acquisition and Signal Processing Controller
- Base System Device driver
- PCI Device driver missing
- Ethernet Controller driver missing
- Network Controller driver missing
- Unknown device in Device Manager
- Code 28: drivers are not installed
- Code 39: driver corrupted or missing
- Code 52: digital signature problem
- USB device not recognized
- Install a driver from an INF file
- Wi-Fi gone after a Windows update
- Bluetooth missing from Windows
- SD card reader not working