So, I'm having problems with my USB ports. Earlier in the day, after unplugging a USB camera, they all suddenly stopped working. I've uninstalled the devices in the Device Manager and allowed them to be reinstalled, disabled Selective Suspend, deleted the UpperFilters registry key (there was no LowerFilters key), installed all available Windows Updates, restarted my computer several times, tried System Restore to a point when the ports functioned, and deleted INFCACHE.1. I have thereby exhausted every suggestion I've been able to find. Windows believes the USB controllers are working just fine, but insists that something went wrong with the installation of any attached device (whether it was already attached to the computer or not). Error code 43 is prominent in the Device Manager, although the one time it recognized the external HD as a mass storage device, it gave Error Code 10 instead (I have been unable to reproduce this).
I've confirmed that the devices work on other computers. Moreover, the external hard drive (which has a bootable Linux installation) boots just fine on my laptop, but not on my desktop, where I'm presented with naught but an ever-blinking text entry cursor (and no ability to enter text). The first time I tried this, I got a grub error message of some kind, but foolishly neglected to write it down. It's been unwilling to reappear, but at the time I was certain that this meant the USB port itself was functioning in some capacity, since there's no way the bootloader could've gotten far enough to throw an error otherwise. It does still recognize the existence of the hard drive before failing to boot it. Now, I'm no longer sure.
However, I feel like this can't be a straightforward hardware issue. USB ports on the opposite side of my case are nonfunctional as well, and they all function well enough for Windows to realize something's plugged in, although they're almost always Unknown Device, and it can't seem to tell when they're removed. I'm considering trying to reinstall the BIOS, but my scant knowledge of what that is tells me that this is a tremendously poor idea if I'm not sure it will fix the problem, and I'm not even 100% sure how to go about doing it.
Halp?