usbpcap
usbpcap copied to clipboard
Cannot connect USB devices to virtual machines due to filter conflicts
Hi, as mentioned in the bug report at https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9630, it appears that attaching USB devices to VMware, and VirtualBox virtual machines (on a Windows 8 x86-64 host) fails due to a conflict between high-level USB driver filters, when USBPCap's filter driver is installed.
Unfortunately, I no longer have VirtualBox installed, so I can't provide the exact text of the error message provided - although if memory serves correctly, it will claim to have "Captured" a device, and refuse to let me disconnect it; and if I run "lsusb" within a Linux guest, no newly-connected device appears.
I noticed that https://www.virtualbox.org/manual/ch03.html#idp55370848 says "On Windows hosts, a kernel mode device driver provides USB proxy support. It implements both a USB monitor, which allows VirtualBox to capture devices when they are plugged in, and a USB device driver to claim USB devices for a particular virtual machine".
For VMware Player, I'm still trying to get things set up, in order to reproduce this issue.
I am able to reproduce this error on Windows 7 64-bit. I am attaching a screenshot of the error message. Details of the error are below: Result Code: E_INVALIDARG (0x80070057) Component: HostUSBDevice Interface: IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a} Callee: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}
I can confirm this. Took me hours to find this out. In Windows under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
the UpperFilter
is set. This must be removed - i.e. deinstallation of usbpcap
again to be able run a virtual machine with USB pass through again.
I can confirm this did not allow me to pass a usb-to-serial device through to a virtualbox guest OS. Took a few hours to find this. I had to delete the UpperFilter
key in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
. The device was listed as "Busy" by VBoxManage list usbhost
on the host OS.
VirtualBox version was 5.0.20
USBPcap version was 1.1.0.0-g794bf26-3
FWIW this is still around (same symptoms - VBoxManage list usbhost
reports Busy
for all devices) - USBPcap version is the one that comes with Wireshark (1.1.0.0-g794bf26-5), VirtualBox version is 5.1.16, on Win 10 1511.
Will this be fixed, or is this a problem on Virtualbox side?
As a user of various things that conflict to this, I am hoping to convince Virtualbox to fix this. It's not just usbpcap, but anything that has the UpperFilter
flag set in the USB subsystem. It seems NoMachine, Roxio and Dell Data Protection Agent are both examples... So far it seems they don't have much interest in addressing it. So, I don't know how to get their attention.