0X800F0228

Fix SPAPI_E_NO_COMPAT_DRIVERS (0X800F0228) in 3 steps

Hardware – Hard Drives Beginner 👁 4 views 📅 May 26, 2026

This error means Windows can't find a driver that matches your hardware. We'll fix it starting with the easiest method.

Why you're seeing 0x800F0228

This error pops up when Windows tries to install a driver for a device but can't find one that matches the hardware ID. It's common after plugging in a new PCIe card, USB adapter, or an older printer. I've seen it most often with Wi-Fi cards and external SSDs. The system knows something's there, but the driver database doesn't have the right file.

The good news: you don't need to be a tech to fix this. Follow these three levels, and stop when the error goes away.

Simple fix (30 seconds) — Run Windows Update

Windows Update doesn't just update the OS. It also downloads driver packs. Many people skip this, thinking it's for security patches only. But it's the quickest way to grab a compatible driver.

  1. Press Windows key + I to open Settings.
  2. Click Update & Security (Windows 10) or Windows Update (Windows 11).
  3. Click Check for updates.
  4. Wait for it to scan. If it finds any driver updates, they'll appear under Optional updates or Driver updates section.
  5. Check the box next to the driver for your device (if listed) and click Download and install.
  6. Restart your PC when done.

What to expect: After restarting, open Device Manager (right-click Start > Device Manager). The device with the yellow exclamation mark should be gone. If it's still there, move to the next fix.

Moderate fix (5 minutes) — Force-install the manufacturer's driver

If Windows Update didn't help, grab the driver directly from the hardware maker. This bypasses Windows' built-in catalog. Here's how to do it right.

Step 1: Find the hardware ID

Before downloading anything, get the exact hardware ID. This tells you what chipset the device uses.

  1. Right-click the Start button and pick Device Manager.
  2. Find your device with the yellow triangle. It's usually under Other devices or Network adapters.
  3. Right-click it and choose Properties.
  4. Go to the Details tab.
  5. In the Property dropdown, select Hardware Ids.
  6. You'll see something like PCI\VEN_8086&DEV_24FD. Write down the full string from the top line.

Step 2: Get the right driver

Search that hardware ID on Google. For instance, PCI\VEN_8086&DEV_24FD driver. The first few results should point to Intel's or Realtek's download page. Go to the manufacturer's support site for your device model — not some sketchy third-party site.

Download the driver. It'll be a .exe, .zip, or .inf file. If it's a ZIP, extract it to a folder like C:\Drivers\YourDevice.

Step 3: Manually install the driver

  1. Back in Device Manager, right-click the problem device and choose Update driver.
  2. Select Browse my computer for drivers.
  3. Click Browse and point to the folder where you extracted the driver.
  4. Check Include subfolders.
  5. Click Next.
  6. Windows will scan for an .inf file. If it finds one, it'll install the driver.

What to expect: Within a minute, you should see a success message. The device will show up normally. If it says "Windows determined the driver is not compatible," the downloaded driver is for a different chipset — go back and double-check the hardware ID.

A real-world example: I had a customer with a TP-Link USB Wi-Fi adapter throwing 0x800F0228. The generic Windows driver was for a Realtek chip, but the adapter used MediaTek. Grabbing the TP-Link branded driver from their site fixed it in two minutes.

Advanced fix (15+ minutes) — Manually point to the .inf file

This is for when the driver won't install automatically, even from the manufacturer. We'll force Windows to use a specific .inf file.

Step 1: Locate the .inf file

In the extracted driver folder, look for a file ending in .inf. It's often called something like oem.inf, netrtwlane.inf, or usb8023.inf. If you see multiple, pick the one that matches your OS (x64 for 64-bit Windows).

Step 2: Open a command prompt as admin

  1. Press Windows key + X and choose Command Prompt (Admin) or Terminal (Admin).
  2. Click Yes if prompted by User Account Control.

Step 3: Use PnPUtil to install the driver

Run this command, replacing the path with yours:

pnputil /add-driver C:\Drivers\YourDevice\driver.inf /install

For example:

pnputil /add-driver C:\Drivers\TPLink\netrtwlane.inf /install

Press Enter. You'll see output like:

Microsoft PnP Utility
Processing inf :            driver.inf
Successfully installed the driver.

If it fails with an error like "The driver package is not compatible," the .inf is wrong — maybe it's for a different Windows version, like 32-bit instead of 64-bit. Download the correct one.

Step 4: Update the driver in Device Manager

Now go back to Device Manager, right-click the device, choose Update driver > Browse my computer > Let me pick from a list of available drivers on my computer. Click Have Disk, browse to the same .inf file, and install it. This step tells Windows to actually assign that driver to the device.

What to expect: The yellow exclamation mark vanishes. Open the device properties — the status should read "This device is working properly."

Still not working? Check for hardware conflicts

Sometimes the error isn't about the driver at all. Try these:

  • Reseat the device: Unplug a USB device or remove a PCIe card, then plug it back in. A loose connection can cause this error.
  • Test on another PC: Plug the device into a different computer. If it works there, the issue is with your Windows installation.
  • Check BIOS settings: For PCIe cards, make sure the slot is enabled in BIOS. Some motherboards disable slots by default.

I've seen a case where a brand-new NVMe drive threw 0x800F0228 because the BIOS had the M.2 slot set to SATA mode instead of PCIe. Changing it to PCIe fixed everything.

When to call it

If you've tried all three fixes and the error persists, the device might be dead or incompatible with your motherboard chipset. Check the manufacturer's compatibility list. Windows 11, for example, requires a specific storage controller for some older drives. In that case, return the hardware or update your motherboard BIOS to the latest version — that can add driver support.

Was this solution helpful?