How to work around USB disconnection errors on Windows
...yeah. It's been more than four years since my previous blog post. Sorry.
What compels me to break the silence this time is yet another technical problem that I've solved, and that deserves more Google juice.
I recently bought myself a new computer. It's running Windows 8.1, partly because I wanted to use it for music production, which is a niche where the FLOSS ecosphere offers little or no usable software for the serious amateur. I also have a Novation Launchkey 49 USB MIDI keyboard.
When I plug in the MIDI keyboard, it sometimes does not work. Or, I suppose I should say, it usually does not work. Maybe 80–90% of the time, you get that yellow triangle with an exclamation mark on it when it appears in the Device Manager, that I haven't seen since the 90s... Back in the day, it usually meant there was an IRQ conflict (on non-Plug-and-Play hardware), but looking at the properties, it says that “The I/O request was canceled” (Well, I have a Norwegian Windows, so it actually said “I/U-forespørselen ble annullert”. But Unlocalize can help with that.)
It's possible to work around the problem by connecting and disconnecting the MIDI keyboard until it works, but that gradually got on my nerves. After some weeks of sporadic googling, I finally found a thread on Steam Community where someone had similar problems with a different piece of hardware.
The workaround that worked for this person was “to disable the xHCI option in the bios”.
So I did just that. In the ASUS UEFI BIOS utility for H81I-PLUS, in “Advanced Mode”, under the “Advanced” menu (yep, you have to “go advanced” twice), under USB configuration, I set Intel xHCI Mode to Disabled.
As is usual for Windows, I don't know why it works, but it does work. I've tried connecting and disconnecting the keyboard several times, and every time it pops up in the Device Manager, without that nasty exclamation mark.