Root Cause Diagnosis
Error Code 10 (ConfigManagerErrorCode 10, “This device cannot start”) means Windows successfully loaded a driver for the adapter but the driver’s IRP_MN_START_DEVICE call failed during initialization — the enumeration succeeded, the start did not. For USB-to-RS232 converters this is almost always one of three chipset-specific causes: a genuine Prolific/FTDI/CH340 driver refusing to start on a counterfeit or clone chip that fails the vendor’s silicon check, a stale registry entry left behind from a previous install on a different USB port (“ghosted” device) conflicting with the current one, or USB selective suspend cutting power to the device mid-enumeration on laptops.
Quick Fix
Right-click the device in Device Manager, select Uninstall device, check Delete the driver software for this device, unplug the adapter, then plug it into a different physical USB port (not a hub) and let Windows reinstall the driver fresh:
Device Manager → Ports (COM & LPT) → right-click adapter → Uninstall device
→ check "Delete the driver software for this device" → OK
Step-by-Step Resolution
1. Identify the actual chipset, not just the product label
Open the device’s Details tab in Device Manager, select Hardware Ids, and read the VID/PID:
USB\VID_067B&PID_2303 -> Prolific PL2303
USB\VID_1A86&PID_7523 -> WCH CH340/CH341
USB\VID_0403&PID_6001 -> FTDI FT232
This determines which fix path below applies — reinstalling the wrong vendor driver will not resolve Code 10.
2. Remove ghosted devices from prior installs
Enable hidden/non-present device display, then delete every duplicate entry for the same adapter:
set devmgr_show_nonpresent_devices=1
devmgmt.msc
In Device Manager, enable View → Show hidden devices, expand Ports (COM & LPT), and uninstall every grayed-out duplicate of the same adapter — these leftover entries can claim a COM port number or driver binding that conflicts with the currently connected instance.
3. Fully remove the driver package, not just the device instance
pnputil /enum-drivers
pnputil /delete-driver oemXX.inf /uninstall /force
Find the correct oemXX.inf by matching the “Provider Name” and “Class Name = Ports” in the enum output before deleting.
4. Clear the stale device registry key directly (if steps 2–3 don’t resolve it)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_xxxx&PID_xxxx
Delete the subkey matching the adapter’s serial instance, then reconnect the device so Windows recreates it from scratch. Back up the key before deleting.
5. Reinstall the correct vendor driver for the exact chip revision
- Prolific PL2303: download the driver matching the chip variant (HXA vs TA vs newer revisions) from Prolific’s official site — installing a driver built for a different revision than the physical chip is a common cause of immediate Code 10 even on genuine hardware.
- CH340/CH341: use WCH’s official
CH341SER.EXEinstaller rather than a bundled driver from a third-party Arduino/IoT toolchain, which is frequently outdated. - FTDI FT232: use FTDI’s VCP driver, and confirm you’re not hitting the counterfeit-chip driver block (
FTDIUNBRICKscenarios) — check%windir%\inf\oem*.inffor FTDI entries.
6. Disable USB selective suspend
Control Panel → Power Options → Change plan settings → Change advanced power settings
→ USB settings → USB selective suspend setting → Disabled (both On battery and Plugged in)
7. Test on a different physical USB port and without a hub
Bus-powered USB hubs frequently can’t supply enough current for RS232 converters that also drive DTR/RTS signaling voltage, producing Code 10 specifically on hub ports while working fine on a direct motherboard port.
Why This Fails for Some Users
Counterfeit PL2303 silicon. Since driver version 3.3.x, Prolific’s official driver performs a genuine-chip check and deliberately returns Code 10 on cloned PL2303HX chips rather than a driver error — no amount of reinstalling the current driver fixes this. The only workarounds are installing the older PL2303 driver (v3.3.2.105 or earlier, e.g., dated 2008) which does not perform the check, or replacing the adapter with one using a genuine chip.
Driver signature enforcement on Secure Boot systems. Windows 10 2004+ and Windows 11 with Secure Boot enabled reject unsigned or test-signed CH340 drivers pulled from unofficial repackaged installers, producing Code 10 even though the same INF works fine with Secure Boot disabled. Verify signing with signtool verify /pa CH341SER.INF or check Driver → Digital Signer in the device properties.
Fast Startup / hybrid sleep power state mismatch. On laptops with Fast Startup enabled, a USB-RS232 adapter’s power state from the previous session can be restored incorrectly on wake, producing Code 10 until a full shutdown (not restart) is performed: shutdown /s /t 0 followed by a cold boot.
USB 3.0 xHCI controller compatibility with older FTDI/CH340 silicon. Some early-revision CH340 and PL2303 chips have known enumeration issues specifically on USB 3.0/3.1 xHCI ports at full negotiated speed; forcing USB 2.0 compatibility via a USB 2.0 hub or a port explicitly wired as USB 2.0 resolves cases where the same adapter works on one physical port but not another on the same machine.