From the “don’t touch what isn’t yours” department…
Yesterday I wanted to do some administrative chores related to a large stack of bills that were cluttering the dining room table. I grabbed my Surface Book from my laptop bag and plunked it on the table. My son’s Dell laptop was nearby, with his fancy Razer gaming mouse plugged into it. “Hey, free mouse,” I thought. I plugged it in to the Surface Book, opened it up, and went to get a diet Coke. By the time I came back, Windows and/or Razer had managed to install some kind of evil driver from hell™ that rendered every USB device plugged into the system inert.
That includes the built-in keyboard and trackpad, BTW, as well as anything plugged into the Surface Dock. The clipboard still worked great, though.
I tried rebooting and that didn’t help. Trying to search for a solution with just the on-screen keyboard slowed me down a bit, and I had other stuff to do last night, so I let the broken machine sit forlornly overnight and went back to it this morning.
The touch screen functioned normally, which was helpful so that I could open apps. When I looked at the “recent updates” list, I saw that a Razer device driver had been installed when I plugged the mouse in– but it was a version labeled as being from 2012. Why this happened, I don’t know. This was clearly the culprit… but Windows 10 doesn’t give you a way to remove an individual device driver update from the settings interface. Nothing relevant appeared in the add/remove programs list. There was no “undo the last update” button, and I didn’t have a recent backup. Device Manager didn’t show any driver at all for a Razer HID device of any kind… so back to the search I went.
First I tried installing Razer Synapse, their all-in-one utility. All that did was invite me to sign up for a Razer account. No thanks. Then I poked around various arcane parts of %systemroot% but didn’t find anything suspicious. Re-running Windows Update didn’t force a new version of the driver either.
To make a long story short, the answer is here: I had to run pnputil.exe -e to figure out which driver store package had the bad driver, then remove it with pnputil.exe -d -f. Once the offending driver was removed, all of my USB peripherals miraculously resumed their normal operation.
Moral of the story: don’t plug in your son’s gaming peripherals. Lesson learned.