USB devices stop working

kidprodigy

Prominent
Oct 3, 2018
15
0
540
I work at a company and I've had this issue pop up on three different PCs now. The mouse will completely stop responding with no indication as to why it stopped. Two of the PCs are running Windows 10 and one is running Windows 7.

The first PC, I completely reloaded Windows 10 after all troubleshooting failed to stop the problem. The issue never showed itself on my work bench before or after the reloading of Windows, but resurfaced when I put the PC back on site causing me to believe it to be a USB device plugged in that's causing it. After a process of elimination, it appeared that unplugging a certain scanner resolved it.

Shortly after, the second case happened and this PC was running Windows 7. The exact same phenomenon occurred and of course I found nothing again with troubleshooting and uninstalling and reinstalling drivers. I swapped the mouse out for PS/2 mouse just to see if the issue would affect PS/2 mice as well, and so far it appears it hasn't happened again.

With case 3, it's running Windows 10 and I'm not sure the PC even has a scanner plugged into this one. This one was just reported to me and I haven't found a fix or workaround yet.

Has anyone had this happen? Whenever it does happen, the mouse still has a light on it. Uninstalling the mouse driver then unplugging the mouse and replugging it will cause the mouse driver to reinstall, but still no movement. The keyboard ceases to work as well whenever it happens. The users have only been able to resolve it by completely shutting down the PC and rebooting. If I remote into their PC with UVNC, I'm able to move their mouse. This occurs daily for the last user.

I found an article mentioning that a particular Windows 10 update caused this issue for some people running a certain version, but on the two machines running Windows 10, the build is higher than the problem build and the fix doesn't apply. Also, that wouldn't explain the Windows 7 machine. One similarity they all have is they are all HP computers although different models from HP Pro3500 to Pro 4300SFF. Updating BIOS did not resolve.
 
when you plug in a usb device, windows plug and play will attempt to install a driver for that usb port.
the installed driver may not complete and just try over and over until a timer goes off and a bugcheck is called.
(generally indicating that a cpu has failed). if a old driver does get installed, something from the usb 1.1 days it can respond to packets or ignore usb packets that it should pass on to the next usb driver in the list. When this happens all the drivers next in the chain never get their packets and try to get the packet again until they fail.

generally you want to make sure your usb driver is dated sometime after about april of 2012 for usb 2.x
and sometime after April of 2013 for usb 3.x the bios on the machine needs to match the drivers since so many vendors came up with there own super speed versions before the usb specs were finialized.

also, when you unplug a usb device, the driver goes hidden and is not removed. it just sits there and can still grab packets and mess up other usb devices (and on newer machines anything that shares pci/e interface)

you can run autoruns and find the hide Microsoft entries to help find old usb devices drivers
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns

you can use usbview.exe from here:
https://www.uwe-sieber.de/usbtreeview_e.html
it is often useful in detecting errors.

you can force windows device manager to show hidden devices so you can see the driver that is installed for a removed device (and delete it)

if you make a windows kernel memory dump then load it into the windows debugger you can use the command
!pnptriage (will show the case where you get a bugcheck when a usb device does not load)
!hidkd.hidtree (will show info on all of the human interface devices and let you look at internal error logs)
!usb3kd.usb_tree (shows info on what is connected to usb 3.x)

older devices from the windows 7 days are likely to have bugs in power management that can result in failures when the device will not wake up. (often you have to disable the usb power management settings in bios and in windows control panel device manager to keep these old drivers from messing up the system)

sometimes people get lucky, if the old device is the last in the chain, it gets the packets last and the system can work for years without a failure.