Code 28: "The drivers for this device are not installed"

DeviceInBox editorial team · Last updated October 6, 2026

"The drivers for this device are not installed. (Code 28)" is the plainest error in Device Manager: Windows found the device, read its hardware ID, and has nothing to install for it. Nothing is broken. The device sits under Other devices with a yellow mark until a driver package that lists its ID is added to the system.

Properties window of a device with the Code 28 status text in the Device status box
Code 28 states the problem exactly: no driver is installed.

The ID is the whole job

Because the device is identified correctly, one line solves the case. Open Properties, the Details tab, select Hardware Ids and copy the first line (how to find it). Search for it here:

Steps from the Code 28 error to a working device: read the ID, find the package, install it
Four steps, and the ID does the work in all of them.

Try the optional driver updates first

Settings, Windows Update, Advanced options, Optional updates, then expand Driver updates. Microsoft hosts drivers for most chipset devices, card readers, fingerprint readers and USB-to-serial adapters, and they match on the hardware ID, so there is nothing to choose wrong.

If the list is empty, right-click the device and choose Update driver, then "Search automatically for drivers". It queries the same catalog for the exact ID and ignores anything that does not match.

Installing a package by hand

  1. An .exe or .msi package: run it as administrator, then restart.
  2. A folder with .inf and .sys files: right-click the device, Update driver, "Browse my computer for drivers", select the folder, tick "Include subfolders".
  3. A .cab package from the Microsoft catalog: unpack it with expand -F:* package.cab C:\drv, then run pnputil /add-driver C:\drv\*.inf /subdirs /install from an administrator Command Prompt.
Command Prompt showing pnputil adding a driver package and installing it on matching devices
pnputil installs an INF package without any installer.

Make sure the package matches your architecture. Almost every current machine runs 64-bit Windows; a 32-bit driver will not install on it, and Windows on ARM needs an ARM64 package.

When the driver installs but the device stays broken

If Code 28 turns into Code 10 or Code 31 after the install, the package was written for a similar chip rather than yours. Compare the ID you copied with the supported IDs listed on the driver page, digit by digit. The VEN and DEV parts must match; SUBSYS and REV do not have to.

If Windows refuses the package with "The third-party INF does not contain digital signature information", see Code 52.

Comparison of a device hardware ID with the IDs a driver package supports
The VEN and DEV parts have to match; subsystem and revision do not.

Devices that show Code 28 most often

On a fresh install these are the usual ones, in order: the chipset devices on Intel and AMD platforms, the card reader, the fingerprint reader, the Wi-Fi and Bluetooth pair, and USB-to-serial adapters on desktops.

Hardware IDDeviceDrivers
USB\VID_1A86&PID_7523HL-340 USB-Serial adapter7
USB\VID_10C4&PID_EA60CP210x UART Bridge / myAVR mySmartUSB light14
USB\VID_067B&PID_2303PL2303 Serial Port9
PCI\VEN_10EC&DEV_5227RTS5227 PCI Express Card Reader10
PCI\VEN_8086&DEV_2723Killer 1650W/Killer 1650X18
USB\VID_8087&PID_0032Wireless Bluetooth(R)14
PCI\VEN_10EC&DEV_8168RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller33
PCI\VEN_1217&DEV_8621Integrated MMC/SD controller18

Related: Unknown device, Base System Device and PCI Device, which are the named versions of the same situation.

More guides