USB passthrough in Windows Host non functional
As the title suggests, USB passthrough on a Windows host appears to do nothing by default. Well, that is sort of expected I suppose since the Microsoft HID drivers are not compatible with libusb. However, I installed the winusb driver, which is compatible with libusb, onto a second keyboard that was attached to my machine, hoping that I could diagnose some issues on real hardware that I'd been having. However doing this I am met with about a dozen or so of the following messages:
C:\Program Files\qemu\qemu-system-x86_64.exe: libusb_kernel_driver_active: -12 [NOT_SUPPORTED]
This error is quite specific and this function only called in one location in the entire codebase, and I assume the logic is as follows:
- Check if kernel driver is active on the port
- If so, detach, otherwise continue
Step 1 here is returning NOT_SUPPORTED
and I think that should be considered grounds to continue on (unless my logic of "if detaching is not supported then attaching probably isn't either and therefore it is not attached). Note that these error messages do not appear if the normal Microsoft HID driver is active, but in that case libusb will not be able to open the device or get anything from it.