Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Code 12 means Windows can identify a device but cannot assign the hardware resources it needs to start. Those resources may include I/O ranges, interrupts, DMA channels, or PCIe address space made available by BIOS/UEFI—not ordinary free RAM or disk space. Start by restarting Windows, undoing the most recent hardware change, and checking Device Manager for related warnings before changing drivers or firmware.
What Code 12 means
On Windows 10 and Windows 11, Device Manager reports Code 12 with this message: “This device cannot find enough free resources that it can use. If you want to use this device, you will need to disable one of the other devices on this system. (Code 12)” Microsoft classifies it as CM_PROB_NORMAL_CONFLICT, a hardware-resource conflict. The conflict can involve overlapping I/O ports, interrupts, or DMA channels; Microsoft also notes that BIOS/UEFI may fail to allocate enough resources. Microsoft’s Device Manager error-code guide and Code 12 documentation describe these causes.
On newer systems, the issue may be the PCIe address space, bridge windows, or bus-number ranges needed by a device rather than a traditional IRQ conflict. A driver problem can contribute, but Code 12 is not simply another name for a driver that failed to load. Nor does “not enough free resources” normally mean the PC has run out of physical memory. Increasing the page file or closing applications does not create a missing PCIe resource window.
Graphics cards, PCIe network, sound, capture, storage, and USB cards, expansion chassis, docks, USB controllers, and integrated laptop devices such as Wi-Fi, Bluetooth, audio, GPIO, or I²C hardware can all be affected. The timing is useful: an error that begins after adding RAM, a GPU, an M.2 drive, a dock, or an expansion card often points toward changed firmware allocation or slot sharing, but does not prove which component is responsible.
#1 Best Overall
- 【7-Ports Expansion Card】Fanblack PCI-E expansion card provides 7 external USB 3.2 Gen 2 Ports (4 USB Type-A and 3 USB Type-C Ports) for your computer. You can connect a keyboard, mouse, external hard drives, CD/DVD drives, webcams, USB printers, scanners, game controllers, USB VR, digital cameras, etc
- 【10Gbps Transmission Rate】One USB Type-C port and three USB Type-A ports share 10Gbps bandwidth, and the rest three ports share another 10Gbps bandwidth, with a total bandwidth of up to 20Gbps. Each port supports transmitting data at a rate of up to 10Gbps when used solely. Note: The USB expansion card only supports data transfer, Not PD fast charging and video signal transfer (DP, HDMI, VGA display conversion) and USB-C Thunderbolt protocol
- 【Widely Compatibility】The card is compatible with Windows 7/8/10/11 (32/64 bit) and Mac OS 10.8.2 and above. Perfect for HP windows 11 desktop,Dell 8950,MacPro 4.1/5.1,Lenovo P520. Note: Windows XP/Vista/7, Server, requires driver installation, Windows 10/11 and Mac OS and Linux don't need drivers. If your computer can not be recognized by windows 11 or Mac os with any driver, Please contact us anytime
- 【Stable and Easy to Use】The internal USB card is provided from the motherboard through the PCI Express slot to ensure a stable connection and improve data transmission speed. Will not lose the connection problem like an external USB Hub. Quick and easy installation, a simple solution for connecting to and using USB 3.2 devices on your standard desktop
- 【No External Power Adapter】 Users do not need to plug any additional power cable on from powersource and get 5V/12A max power supply for high-power consuming device ( NOT support BC 1.2 charging or Power Delivery) , Support device only, Like HDD/SSD enclosure, VR sensor etc
Confirm the device and record what changed
- Press Windows key + X, then select Device Manager. Alternatively, press Windows key + R, enter
devmgmt.msc, and press Enter. The command opens Device Manager; it is not a repair. - Expand the device category, double-click the device with the yellow warning icon, and read Properties → General → Device status.
- In Properties → Details, select Hardware Ids and note the displayed IDs. Record the device name, exact status, and whether the problem began after a Windows, driver, BIOS, or hardware change.
- Note the computer or motherboard model and BIOS/UEFI version. If practical, check whether the device is visible in BIOS/UEFI. Menus and device visibility differ by system.
These details help distinguish a device-specific problem from a slot, firmware, or platform issue; Microsoft documents the Device Manager route for finding the reported error. Microsoft Support
Try the lowest-risk fixes first
1. Restart Windows
Choose Start → Power → Restart. A restart can trigger device enumeration again. If this started immediately after installing hardware, shut down fully as well, disconnect power where the manufacturer’s instructions allow it, and check that the card, cable, or adapter is seated and connected properly before starting again. A temporary recovery after restart does not establish that the underlying conflict is gone.
2. Reverse the latest hardware change
Power down and temporarily remove or disconnect the most recent addition: for example, a PCIe card, second GPU, riser, dock, expansion chassis, USB card, or storage controller. For external devices, disconnect them and restart. If Code 12 clears, add devices back one at a time and check Device Manager after each change. This is a diagnostic test; it narrows down an interaction without assuming the newest device itself is defective.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →3. Check for related warnings
In Device Manager, select View → Show hidden devices, then inspect the affected category, System devices, PCI Express root ports, bridge devices, and other entries with warning icons. A related warning can point to a parent bridge or another affected component.
Do not disable random system devices because the Code 12 message mentions disabling another device. Disabling a PCIe root port, chipset component, storage controller, USB controller, or security device can cause other hardware to stop working or prevent Windows from booting. Disable something only when you have identified it as nonessential and have a clear way to restore it.
Rank #2
- 【USB3.2 8 Interface】 Type-A + Type-C USB3 dual interface, can run two devices at the same time, compatible with the existing USB peripheral products. In order to make the power supply of each interface stable, the capacitor adopts the solid state patch type that can withstand the high temperature of 250 degrees.
- 【 High Quality Chip】 USB 3.2 expansion card adopts new high quality NEC720210+NEC720201 main control chip and advanced low voltage power supply process, the maximum usb3.2 Gen2 supports 10gbs(theoretical value).
- 【Security & Reliability】 When the external USB device is broken down or the current is too large, immediately cut off the power to protect the peripheral and personal computer. After the fault is rectified, the system automatically recovers. Each port is equipped with independent capacitors that do not require an external power supply, ensuring a more stable power supply. The two interfaces can operate independently and do not interfere with each other, so the operation is more stable.
- 【Stability & Heat Dissipation】 The use of alloy materials with high thermal conductivity can effectively heat dissipation, so that the expansion card is always at room temperature and the work is more stable.
4. Scan for hardware changes
After reconnecting hardware or changing a setting, open Device Manager and choose Action → Scan for hardware changes. This asks Windows to refresh its device list; it cannot overcome a real firmware or PCIe-resource limitation.
5. Use the troubleshooting button only if it exists
Some Windows installations may show a Troubleshoot button in the device’s properties. Use it if present, but do not expect it on every current Windows 10 or Windows 11 system. If it is absent, continue with the checks below.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Inspect resource information and Windows diagnostics
Check the Resources tab
- Open the affected device’s Properties and select Resources, if that tab is available.
- Record the listed resource settings and note any displayed conflicts, overlapping ranges, or unavailable assignments.
- Do not force a new IRQ, DMA, or I/O value unless the hardware documentation specifically provides a valid setting and the device supports manual assignment.
Many modern Plug and Play devices do not offer manual resource controls; their Resources tab may be absent or informational only. Microsoft describes using Device Manager to identify conflicts and notes that settings can be configurable in some cases. Microsoft Support
Use System Information or PnPUtil as diagnostic aids
Run msinfo32 from Start or the Run dialog. In System Information, check Components → Problem Devices and review reported conflicts where available. This can help identify affected hardware but does not itself repair resource allocation.
In an administrator Terminal or Command Prompt, these optional commands can provide additional context:
Rank #3
- 【7 ports PCIe USB card】 There is a 2-phase independent power supply module, which can feed one interface per output port to escape power shortage. Can operate without an external or auxiliary power supply; the seven interfaces operate independently and do not affect each other. Seven USB 3.0 Type A ports can be added externally to the PC case. Note: Not compatible with PS3/PS4.
- 【High Speed Transmission】USB3.0 theoretical speed up to 5Gbps, provides 10 times faster transmission speed than USB2.0. This usb expansion card enables quick access to files and transfer of HD movies, photos, music, etc.
- 【Stable power supply】The usb pcie card adopt NEC720201&NEC720210 chip. The USB interface can supply 5V2A power to external devices. Solid capacitors with good performance are used for low impedance, low temperature stability, and high temperature wave resistance.
- 【7 independent solid capacitors】Each interface has a stable voltage solid capacitor to ensure a stable power supply. The dielectric material of the solid capacitors is made of conductive polymer material, which has the advantages of high stability, long life, and low ESR (faster charging and discharging speed).
- 【Wide compatibility】 PCI-E X1 X4 X8 X16 compatible. Note: Not compatible with older PCI, backward compatible with USB 2.0 / 1.1, 64-bit and 32-bit Windows 11 / 10 / 8 / 7 / XP / Linux, not Mac compatible. Note: WIN8 and WIN10/11 users do not need to install the drive; XP and WIN7 users can download, unzip, install, and complete. (The corresponding installation directory for CD is DRIVERSǐ201R30230.EXE.)
pnputil /enum-devices /problemlists devices Windows currently reports as problematic on supported versions.pnputil /enum-driverslists installed third-party driver packages, which can help identify a recently added package but does not diagnose PCIe allocation by itself.
Command availability and output can vary with Windows version. Treat the results as clues, not proof of a defective device.
Check the motherboard, PCIe slots, and firmware
Look up slot-sharing rules
Use the manual for the exact motherboard or computer model. It may specify that an M.2 socket shares lanes with a PCIe slot, that populating one slot disables another, or that a slot’s bandwidth changes when other devices are installed. Some systems also share resources between expansion slots and onboard controllers. Do not infer the wiring from a slot’s physical size alone.
When the manual supports it, test one change at a time: move the card to a different compatible slot, try a different M.2 socket, remove a nonessential expansion card, or connect directly instead of through a riser or dock. A different slot can change bandwidth or disable another connection, so check the manual before settling on the new layout.
Load firmware defaults cautiously
- Enter BIOS/UEFI using the key and method documented by the computer or motherboard manufacturer.
- Record or photograph customized settings, especially boot order and storage mode.
- Load Optimized Defaults, Setup Defaults, or the equivalent, then save and restart.
- Check Device Manager again. Restore only the settings you understand and need.
Defaults can change boot, storage, virtualization, security, fan, and memory settings. On a desktop, a CMOS reset is a further option only if the manufacturer’s procedure is clear; record settings first and be prepared to restore boot and storage configuration.
Update BIOS/UEFI and platform software when appropriate
Check the official support page for the exact computer or motherboard model for BIOS/UEFI updates and chipset or platform drivers. Also check the device maker for the affected device’s driver and, where applicable, firmware for a dock, Thunderbolt/USB4 connection, or expansion chassis. Microsoft identifies BIOS allocation failure as one possible cause of Code 12, but a newer BIOS is not a guaranteed fix. Firmware updates carry a real failure risk and may reset settings; use the vendor’s exact package and procedure.
Rank #4
- Supports 4 NVMe M. 2 (2242/2260/2280/22110) up to 256 Gbps in one card by utilizing PCIe 4. 0 bandwidth
- PCIE 4. 0 X16 Interface with server-grade (low loss) PCB material, compatible with PCI express x8 and x16 slots
- Supports 14W power consumption SSDs for next gen latest drives
- Stylish heatsink and integrated blower style fan prevent M. 2 throttling
Treat advanced firmware options as model-specific
Depending on the platform, firmware may expose options such as Above 4G Decoding, Resizable BAR, PCIe link speed, bifurcation, SR-IOV, integrated-device controls, or MMIO settings. These are not universal Code 12 switches. Change one only when the motherboard, system, or device manufacturer recommends it for your configuration, and record the original value first. Above 4G Decoding may be relevant to some multi-GPU or large PCIe-memory configurations, but enabling it indiscriminately is not a general fix.
Update or reinstall the affected driver only when it fits the symptoms
Get the appropriate package from the computer, motherboard, or device manufacturer: for example, graphics, Wi-Fi/Bluetooth, audio, capture-card, or expansion-card drivers. For integrated laptop devices, prioritize the laptop maker’s chipset and platform packages, including Serial IO where the manufacturer provides it. A generic driver update may not address a resource assignment made by firmware.
If the problem began after a driver change, or the installation appears incomplete, a clean refresh is reasonable:
- Download the correct replacement driver before removing anything.
- In Device Manager, right-click the affected device and select Uninstall device.
- Select an option to remove the driver package only if offered and you already have the replacement installer.
- Restart Windows, install the manufacturer’s package, then check Device Manager.
Do not casually uninstall storage, chipset, boot, bridge, or other system devices. For a GPU, follow the manufacturer’s documented cleanup method if a normal reinstall fails. If the device disappears altogether, investigate physical connection or enumeration rather than assuming the same Code 12 condition remains. A driver refresh can fix a damaged package or stale device state; it cannot create resources the firmware or topology does not provide. Microsoft’s Code 12 guidance focuses on resolving the conflict, not treating every case as a driver-only failure. Microsoft Support
Recommended Free Tools
Use the symptom to choose the next test
| Test or observation | What it suggests | Next step |
|---|---|---|
| The device fails in every compatible slot or system | The device, its firmware, or compatibility may be at fault. | Check vendor compatibility and firmware; test a known-good alternative if available. |
| A different device fails in the same slot | The slot, board topology, or firmware is more suspect than the original card. | Consult the system manual and test a different supported slot. |
| The device works alone but fails alongside another | Resource allocation, slot sharing, or a platform limit may be involved. | Reintroduce devices one by one and check the slot-population rules. |
| The device works after a cold start but not after Restart | Firmware initialization, power state, or enumeration may be involved. | Check system/device firmware, power connections, and dock or riser stability. |
| The device is absent in BIOS/UEFI as well as Windows | Consider seating, cabling, power, firmware, or hardware before Windows drivers. | Reseat or reconnect safely and use vendor diagnostics. |
| The device appears in BIOS/UEFI but has Code 12 in Windows | Windows assignment, a driver interaction, firmware allocation, or topology remains possible. | Check Device Manager details, system firmware, chipset software, and slot rules. |
| The problem began after a BIOS update | Settings or firmware behavior may have changed. | Compare current settings with recorded or vendor-recommended values; use rollback only if the vendor supports it. |
Special cases: GPUs, expansion chassis, laptops, and virtual machines
Multiple GPUs and large PCIe devices
Test with one GPU or expansion device, confirm it starts, then add the second device and check status. Verify slot population rules, update platform firmware and chipset drivers, and test without risers or adapters. If the vendor recommends Above 4G Decoding for that system, evaluate it as a model-specific setting. A machine can have ample system RAM and still lack a usable PCIe resource allocation for its installed devices.
Best Value
- HIGH-PERFORMANCE USB CARD: Upgrade or expand a desktop/server's USB connectivity by adding four external USB Type-C 10Gbps ports and one internal USB Type-A 10Gbps port via a single PCI Express x4 connection
- FAST DATA TRANSFER: ASM3142 controller supports USB 3.2 transfer speeds of up to 10Gbps; Ideal for transferring large files or editing high-resolution photos/videos on external storage devices
- OPTIONAL POWER: USB PCIe expansion card with SATA power supplies additional power to the USB ports (when motherboard power is insufficient), providing up to 5V 3A (15W) per USB Type-C port and 5V 1.5A (7.5W) on the USB Type-A port
- COMPATIBILITY: Drivers auto-install in most OS's including Windows 8 & up, macOS, and Linux; Works with all hardware platforms such as Intel, AMD, and Apple Silicon that have a PCI Express x4/x8/x16 slot; Does not support DP-Alt Mode/USB Power Delivery
- THE IT PRO'S CHOICE: Designed and built for IT Professionals, this 5-port USB-C PCIe Card is backed for 2-years, including free lifetime 24/5 multi-lingual technical assistance
PCIe expansion chassis
A chassis adds bridges and downstream devices to the PCIe topology. Microsoft documents a particular Code 12 case in which the BIOS provides a limited bus-number range for PCIe bridges, preventing downstream devices from being enumerated or started correctly. That bridge-window explanation applies to the documented scenario, not automatically to every Code 12. Check the host’s recommended slot and BIOS settings, chassis firmware, supported device count, direct-connection requirements, and platform compatibility; reduce downstream devices as a test. If a bridge itself reports an error, contact the chassis manufacturer. Microsoft’s expansion-chassis guidance
Integrated devices in laptops
For an onboard Wi-Fi, Bluetooth, audio, GPIO, or I²C device, users usually cannot manually reassign the relevant resources. Check recent Windows or BIOS changes, the laptop maker’s BIOS/UEFI and chipset/platform drivers, whether the device is disabled in firmware, and the OEM’s diagnostics. If it began after adding a dock or other hardware, disconnect that hardware as an isolation test before concluding the integrated component has failed.
Virtual machines
A virtual device may report Code 12 because the virtual bus or host configuration did not expose it correctly. For a documented VMBus scenario, Microsoft recommends checking that integration services devices are installed after restarting the virtual machine. Follow the guidance for the particular virtualization platform rather than applying physical PCIe slot fixes to a virtual device. Microsoft’s VMBus troubleshooting article
Free tools Windows power users keep installed
One-click scans. No signup required.
When to contact support or suspect a failed component
Code 12 alone does not prove that a card or motherboard is defective. Before requesting replacement or repair, check seating, power, cables, and risers; apply appropriate manufacturer firmware and chipset updates; and test whether the fault follows the device, slot, or combination. Use OEM diagnostics where available.
Contact the computer, motherboard, or device manufacturer when the manual does not explain the slot configuration, an expansion bridge itself reports an error, a supported firmware update does not resolve a repeatable problem, or the device works in another compatible system while the original slot does not. Consider hardware replacement after a known-good compatible system or slot confirms that the same device repeatedly fails while alternatives work.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

