My USB was working the last time I worked on my PC. A story I heard so many times before. So Why is my USB Port Not Working?
Out of all the possibilities out there I am going to guess something changed on your computer. Here are some steps to Test and Resolve the USB Port not working.
Testing the Hardware
To test the hardware the best would be to do this outside of Windows. A simple way is to download MemTest86 and Rufus. Rufus is used to creating a bootable USB and MemeTest86 is the Application it will boot into.
This needs to be prepared on a different machine to the machine that gives the issue. Once Downloaded, install Rufus and Extract MemTest86. Open Rufus and chooses the USB (Already inserted) and the location of MemTest86. Click Start and wait to complete.
On the machine giving issues shutdown and insert the USB just created.
When rebooting the Bios Screen should show you an option to choose a boot device. Normally something like F10 or F12. If you don’t see the option go into the bios and under the boot setting change the first boot device to the USB. Note this does not mean your USB is working yet if you can see it but if you have been working with a USB Keyboard it is most likely working.
Reboot the machine and it should go directly to a MemTest86 Application.
If you come this far the USB hardware is fine and working. If you want to run the application just to test the PC RAM is fine aswell.
Being honest Windows Updates can both be the cause and the solution.
An update can cause an outdated driver to malfunction and intern issues between other drivers. Surprisingly from what I have read this is most common with Audio Drivers.
A good option is to uninstall the drivers from Device Manager before running a window update specifically the USB controller. This will download the newest approved drivers from the windows services.
Unfortunately, sometimes the drivers on windows update are not sufficient or not there at all. This involves getting a bit more involved and searching for you motherboards drivers form the Vendor directly or even on Chipset Vendors site.
To find which Chipset drivers to download go to the device manager and go the properties of the USB controller go to Driver details and in the dropdown search for Hardware Ids. The Ids will look like follows:
Once you have the Hardware ID’s open google and past in the search console, this should take you directly to the vendor’s website that shows you which Drivers to Download.
Newly installed software
Every piece of Software written has a person that hopefully thinks “How can I make my Software as stable as possible. This software will not allow anybody to do anything other than what it is supposed to”. At least we hope this.
So Software will sometimes make changes in windows settings that are there for a reason in the hopes it will work better not taking into consideration what happens to other programs.
Normally uninstalling the software will revert the issue. A lot of well-known vendors will probably have a patch to fix the issue. If you still need the Software, try reinstalling the Chipset drivers after the installation of the required Software.
Upper or Lower Filters
This is probably one of the reasons I reloaded more machine than required.
The Drivers for a machine sits in between the Program sending the command to the hardware device.
A filter is optional drivers that add value to or modify the behavior of a device.
An Identify error message for this is: “This device cannot start. (Code 10) – Insufficient system resources exist to complete the API”
To fix this simply delete the upper or lower filter from the USB Registry Key.
PS. As with any other time when working on the Registry make a backup of the Keys before tampering.
Finding the registry key is very simple. Again go to the device manager open the USB Controller Properties, go the details tab and in the drop-down choose Class Guid. The Guid is a long Alpha-Numeric value separated by a few Dashes and enclosed in curly brackets
Open the Registry by opening a Run command (Windows Key + R) and typing in Regedit. The Registry is divided into various parts browse to the following location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
Then search for the Guid as per what you got from the Device Manager
Make sure there are no upper or lower filters present if there is simply delete only those filters nothing more, Reboot and test again.
There is an option in the Registry to disable all USB but unless you are on a corporate environment this values does not really get tampered with.
If your idea is to lock down PC in your environment you can read the following article: How to lock down a PC
- Open the Run Command (Windows Key+ R)
- Type “regedit”
- Browse to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor.
- Look for the Value Named Start.
- Change the Value Data to number 3.
- Click on OK
This should take effect immediately, if not log the user off and back on.