VMware Cloud Community
GlenB
Contributor
Contributor

Access to USB devices

I'm intending to setup a development system and wanted to make sure my plans are not seriously flawed. This is a 2 machine configuration. #1 is a physical machine running Win2k3 Server as a Domain Controller and it will run VI. #2 is the VM host running ESXi and 5-10 VMs of various flavours. Some of those VMs will need access to USB devices. I have heard that the VI connection between #1 and #2 can pass the USB I/O across that connection and I can thus "connect" a USB device which is physically on #1 to a particular VM on #2 (but only one VM at a time). Is that right? I have not purchased #2 yet so now would be a good time to find out if I'm an idiot! Thanks.

Regards - Glen
Tags (3)
0 Kudos
6 Replies
Formatter
Enthusiast
Enthusiast

If you search for usb in this forumn you will find that usb must be done with an IP based usb device to allow vm's to use usb devices.. have a search and there are some suggestions.

nick_couchman
Immortal
Immortal

RDP can pass certain devices from the guest machine over to the host machine, but that set of devices is limited...

GlenB
Contributor
Contributor

Thanks Nick - I had heard that RDP could do that, but I had heard it in the context of VMware having "enhanced" the base RDP protocol. Any idea where I can find some list of what is and is not possible?

Regards - Glen
0 Kudos
GlenB
Contributor
Contributor

Thanks Formatter - I found a reference that said I needed a USB-over-IP server and recommended the Silex SX2000U2 device - $100 US, 15 USB ports. I'm checking with them to see if they've ever used it with VMware and if they support all the USB devices I have.

Regards - Glen
0 Kudos
GlenB
Contributor
Contributor

It's now many months later and I'm setup - just trying to get the USB thing working.

I purchased a Silex SX-5000U2 device which is a USB server that connects to the client over IP. You

1 - plug your USB device into this server and

2 - give the server an IP address and

3 - run client software inside the VM

and your guest OS sees the USB device as if it were directly connected to the guest. Sounds great, but I haven't quite got it working yet and I'm hoping someone in the community has done this or something similar or can suggest a good solution to the remaining problem.

Because there were no USB devices enumerated when the guest OS was installed, the USB driver was not installed. For x86 Windows, that means the usbd.sys was not copied in system32\drivers. No problem, I can pull that out of the installation source and copy it in to that directory, but that's not quite enough.

When the guest OS boots and enumerates hardware it (of course) sees no USB devices so, even though the driver file is there, it never gets loaded and hooked in to all the device identification and enumeration routines. So the real trick is - how do I cause that usbd.sys to be loaded "late" (probably using user code/utility after the logon process) AND correctly hooked into the device enumeration / PnP / new hardware routines? Probably no one thought of needing to do that because no one can dynamically "insert an adapter card" into the hardware which is effectively what I'm doing.

If I can get that done, then I start the client side software that comes with the SX-5000U2, connect this VM to that USB server and the "new hardware wizard" will run and load the correct USB driver for the new USB device. I have high hopes ......

Regards - Glen

Regards - Glen
0 Kudos
sloughton
Contributor
Contributor

Im in the same boat: ESXi 3.5, Belkin Network Hub, all types of windows guest VMs. Whilst the Belkin indeed mounts USB devices ok, and USB storage works across it, and even some security keys (in Device Manager I can see the category 'Security Key> USB Key' for this Feitan type I have) the particular software requires a USB root hub to be present before it accesses the key. I tested this on VirtualBox with USB on different hardware on the same VM. Enabling/Disabling the root hub even with the Security Key present on the Belkin software stops the particular software from working.

So with GlenB, is there a way to force a 'fake' USB root hub even though there isnt one, in windows?

0 Kudos