I am unable to get USB passthrough (VMDirectPath?) working under ESXi: my virtual machine (Ubuntu) does not report any USB devices when running ‘lsusb’. The hardware should be fully capable of VT-d, but despite multiple experiments, I have not had any success. I assume the problem originates from the Linux kernel being unable to load PCI driver (ehci_pci?). I do not know what is causing this, but it must somehow be related to the messages “debug port 15 IN USE” (see dump below)
My configuration:
ESXi is configured to pass-through the USB controller (PCI device 0, Intel Corporation Lynx Point USB Enhanced Host Controller #2 (8C2D), 00:1a.0)
Extract of ‘dmesg’ (Ubuntu 3.13.11.6 running on top of ESXi):
[ 0.551794] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.551795] ehci-pci: EHCI PCI platform driver
[ 0.551994] ehci-pci 0000:03:00.0: EHCI Host Controller
[ 0.551997] ehci-pci 0000:03:00.0: new USB bus registered, assigned bus number 1
[ 0.552039] ehci-pci 0000:03:00.0: debug port 15 IN USE
[ 0.552091] ehci-pci 0000:03:00.0: can't setup: -19
[ 0.552093] ehci-pci 0000:03:00.0: USB bus 1 deregistered
[ 0.552231] ehci-pci 0000:03:00.0: init 0000:03:00.0 fail, -19
[ 0.552236] ehci-platform: EHCI generic platform driver
[ 0.552240] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.552240] ohci-pci: OHCI PCI platform driver
[ 0.552245] ohci-platform: OHCI generic platform driver
[ 0.552247] uhci_hcd: USB Universal Host Controller Interface driver
[ 0.552274] i8042: PNP: PS/2 Controller [PNP0303:KBC,PNP0f13:MOUS] at 0x60,0x64 irq 1,12
ubuntu$ lspci | grep USB
03:00.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
ubuntu$ lspci -nnks 03:00.0
03:00.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 [8086:8c2d] (rev 04)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:5006]
Notice in the above 'lspci -nnks' output: no device driver is listed for the USB controller (unlike the example below).
When running things directly from a Lubuntu live CD, ‘dmesg’ output is different and USB devices are detected correctly:
[ 3.062838] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 3.062907] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 1
[ 3.075501] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[ 3.075513] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.075514] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.075515] usb usb1: Product: EHCI Host Controller
[ 3.075516] usb usb1: Manufacturer: Linux 3.11.0-12-generic ehci_hcd
[ 3.075517] usb usb1: SerialNumber: 0000:00:1a.0
[ 3.075576] hub 1-0:1.0: USB hub found
[ 3.075703] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 2
[ 3.091518] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[ 3.091526] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 3.091527] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 3.091528] usb usb2: Product: EHCI Host Controller
[ 3.091529] usb usb2: Manufacturer: Linux 3.11.0-12-generic ehci_hcd
[ 3.091530] usb usb2: SerialNumber: 0000:00:1d.0
lubuntu$ lspci -nnks 00:1a.0
00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 [8086:8c2d] (rev 04)
Subsystem: Gigabyte Technology Co., Ltd Device [1458:5006]
Kernel driver in use: ehci-pci
Ever get this figured out? I'm having the same problems.
Well no luck so far.
Two weeks ago I was trying this out: https://bbs.archlinux.org/viewtopic.php?id=157557.
I believe 'powertop' was indicating a possible problem, but I did not have time to dig deeper. I hope to experiment again soon.
Recently tackled this issue along with versions of ESXi where onboard USB passthrough does not work,
See the tail end of this discussion:.
https://communities.vmware.com/thread/417736?start=255&tstart=0
It seems this is not a problem in version 6.0.0 (build 2494585).
I can now pass the PCI device (Intel Corporation Lynx Point USB Enhanced Host Controller) to the virtual machine (Ubuntu), and for the first time I get something sensible when issuing an 'lsusb' command
Any chance you could load test to ensure it works reliably.
Suggestion to load test would be to read / write a 1+TB to a LUKs encrypted USB disk.
I just briefly tested copying 2 large files (2G + 1.6G) from a USB memory stick to a USB hard drive.
It is a good idea to make some stress test, but I am not able to make the setup you suggest, as I do not have a spare USB hard drive.