If your USB device fails to work on Windows 7, 8.1, Windows 10 with code 43 error in Device Manager, then you need to read the following to be able to fix the problem
There is no news in the fact that there are problems with the USB connectivity in Windows 7, 8.1, Windows 10. We have explained in a previous post how to fix slow USB 3.0 problems in Windows 8.1, 10 and now it’s time to talk about another specific problem – the code 43 error that you see in the Device Manager.
Shared by the Microsoft Windows USB Core Team on a recent posting, this annoying USB problem seems to finally have received an end. Here’s what the team says:
A few USB devices when connected to a port of an Enhanced Host Controller (EHCI) might not enumerate on Windows 8.1 but work on Windows 8. In Windows 8.1, the failure is reported as error code 43 in Device Manager. One of the reasons is that the device reports itself as supporting a USB version greater than 2.00, but does not provide the required BOS descriptor.
As per the official USB specification, a USB device with version 2.00 or greater must provide a BOS descriptor. In Windows 8, the USB 2.0 driver stack does not validate that requirement. As a result, a 2.00 or greater device without a BOS descriptor, enumerates successfully when connected to an EHCI controller. In Windows 8.1, the driver stack has been updated and enumeration fails for such devices. Note: The USB 3.0 eXtensible Host Controller (xHCI) driver in Windows 8 and 8.1 validates that requirement. We are investigating a possible workaround for devices with that problem.
This is a hard nut to crack, as you will be require to do several quite technical things in order to get rid of it. If the below steps won’t solve your problem, leave your exact device model number with a comment here or on the above mentioned posting from the Microsoft Windows USB Core Team and maybe they will help.
How to fix USB Code 43 error on Windows PCs
1. Check the bcdUSB and fid_URB_Hdr_Status values (Windows 8.1)
- Capture a USB ETW trace for the enumeration failure.
- Open the trace in the Microsoft Network Monitor application (Netmon)
- Open the Find Frame dialog (CTRL-F) and search for the USBPort.USBPORT_ETW_EVENT_DEVICE_INITIALIZE event
- Expand the fid_USBPORT_DeviceDescriptor field in the Frame Details pane and see the value of bcdUSB
- If the bcdUSB value is greater than 0x200, open the Find Frame dialog again and search for USBPort.USBPORT_ETW_EVENT_COMPLETE_URB_FUNCTION_CONTROL_TRANSFER_EX.ControlTransfer.Urb.SetupPacket.Value_DescriptorType == 0xf. The search returns control transfer completion for the BOS descriptor type of 0x0F
- Expand the ControlTransfer field in Frame Details pane and view the URB_Hdr_Status value
- If the fid_URB_Hdr_Status value is anything other than “success”, the device failed to return a BOS descriptor even though it reports a version greater than 0x200.
2. Unplug all peripherals and restart your computer
Restarting your computer or laptop may fix this error quicker than you may think. But there’s a catch: since error 43 affects your USB connection, you should first unplug all peripherals connected to your device.
Then restart your computer and plug your peripherals back in one by one.
3. Launch the Windows Troubleshooter
Windows 10 comes with a built-in troubleshooter that allows users to quickly fix various issues. Here’s how to use it:
- Go to Settings > Update & Security > Troubleshoot
- Go to Find and fix other problems > click on Hardware and Devices > launch the troubleshooter
- Wait until the troubleshooting process completes > check if the issue persists.
4. Remove the problematic USB controller driver
If the solutions above didn’t work, identify the problematic USB controller driver, uninstall it and then re-install on your computer.
- Launch Device Manager > go to Universal Serial Bus controllers
- Check if there is a yellow triangle with an exclamation mark there. It should be accompanied by the description ‘Unknown Device’
- Select the problematic driver > in the new window, go to the Driver tab > click Uninstall to remove the USB controllers driver
- Now click on Scan for hardware changes’ to re-install the driver.
Note: this solution works only of the error message ‘Windows has stopped this device because it has reported problems. (Code 43)’ is visible under the General tab – Device status.
5. Update Windows
Make sure that you’re running the latest Windows OS updates on your machine. As a quick reminder, Microsoft constantly rolls out Windows updates in order to improve the system’s stability and fix various issues, including USB errors.
To access the Windows Update section, you can simply type “update” in the search box. This method works on all Windows versions. Then go to Windows Update, check for updates and install the available updates.
6. Run a full system scan
Malware may cause various issues on your computer, including hardware errors. Perform a full system scan in order to detect any malware running on your computer. You can use Windows’ built-in antivirus, Windows Defender, or third-party antivirus solutions.
Here’s how to run a full system scan on Windows 10 Creators Update:
- Go to Start > type ‘defender’ > double click Windows Defender to launch the tool
- In the left hand pane, select the shield icon
- In the new window, click the Advanced scan option
- Check the full scan option to launch a full system malware scan.
7. Replace the problematic hardware
If none of the solutions listed above fixed the error, test the problematic USB device on another computer. If the same error occurs or the device fails to work, this indicates that the device itself i triggering error 43 and you need to replace it.
Let us know if you managed to fix the Windows 7, 8.1, 10USB problem highlighted with code 43 error by following the above steps.
Editor’s Note: This post was originally published in November 2013 and has been since completely revamped and updated for freshness, accuracy, and comprehensiveness.
RELATED STORIES TO CHECK OUT: