VMware Cloud Community
jakelm
Contributor
Contributor

"There are no USB devices available on host"

Hello everybody.  To start things off, I realize this has been posted many times, and I will say that I have been researching a fix for this for many many hours over the past few days.  I just want to be clear about that, so nobody thinks I am just reposting this and being lazy.

I apologize if this post is in the wrong place, I am new to the forums and picked the place I thought would be relevant.  I will gladly move it if it doesn't belong here.

The issue happens in vSphere Client 6.0, running on Windows 7.  I am using ESXi 6.5 on my 'server' computer, and my goal is to passthrough the hardware, including a GPU (basically use it what it is used for) to a virtual machine, where I then use VNC to connect to it from my client computer.

I am currently trying to use the ESXi Host (server) with a keyboard and mouse, as I have a monitor plugged into the GPU.  I am doing this to test a software that will not launch, to see if it will launch on the host at least.  However, I cannot get USB devices (keyboard and/or mouse) working on the host.  Here is what I have tried:

I have added the USB controller first in vSphere, and attempted to add a USB Device.  It is always grey, and says Unavailable.  After seeing that it was unavailable, the next step was to see if my system was actually seeing USB devices plugged in.

Using lsusb to print the USB device log file, both my keyboard and mouse were displayed.  So my system can see the devices.  Next was to check if the USB Arbitrator was detecting the devices.  This is where things got a bit tricky.  I printed the log file for the USB Arbitrator, and some weird things came up.  A few lines toward the end I'd like to share are:

DictionaryLoad: Cannot open file "/usr/lib/vmware/config": No such file or directory

- Is this a problem?  I'm not sure what that config file is supposed to contain, but I don't have it for whatever reason.

The last 6 lines of the log are:

USBArb: Attempting to connect to existing arbitrator on /var/run/vmware/usbarbitrator-socket.

SOCKET Creating new Socket, connecting to /var/run/vmware/usbarbitrator-socket.

SOCKET connect failed, error 2: No such file or directory.

USBArb: Failed to connect to the existing arbitrator.

USBArb: UsbArbPipeConnected: Connected to client, socket:12

USBArb: Client 66736 connected (version: 7)

I have checked the USB arbitrator script for errors, there are none.  I have also restarted hostd, and gone through this entire process VMware : Unable to connect USB device to VM with ESXi vSphere 5.5 | ITechLounge.net

I have VT-D turned on, and all my hardware supports virtualization.

I also have VMTools installed, and have already reinstalled it a few times.

All I want to do is use a mouse and keyboard on my ESXi host, and it is turning out to be a huge problem for me.  Can somebody with some experience please offer some advice?  I feel as though I have tried almost every solution I could find.

Thanks,

Jake

4 Replies
admin
Immortal
Immortal

Jake, unfortunately in vSphere ESXi we do not make provision for passing HID devices like mice and keyboards through to VMs on the host running the ESXi hypervisor.  It sounds like that is what you are trying to do and if so that would account for the fact that the devices show up in lsusb but are not available to be added to the VM.  You can verify by cat-ting /dev/usbdevices and checking the "V" entries for your keyboard and mouse.  They will be of the form "V: Not available for Passthrough".  If I a mistaken about where your are encountering problems (i.e., if you are not to trying to use a physical USB keyboard connected to the host running the ESXi hypervisor) or if you have further questions do let me know.  Thanks.

admin
Immortal
Immortal

Also, just to add, the messages from the USB arbitrator that you mention are harmless and they are not the source of your problem.  Thanks.

jakelm
Contributor
Contributor

Hello, that is exactly what I am trying to do.  If it isn't supposed to be possible, what exactly did these guys do in order to get it to work?  I am essentially just attempting to do the same thing these guys have done right now https://www.pugetsystems.com/labs/articles/Multi-headed-VMWare-Gaming-Setup-564/

These guys basically just run everything locally straight off of their ESXi host, where showed that they plug their monitors, and mice/keyboards straight into the host.  They do this by passing through USB controllers.

Thanks

Reply
0 Kudos
jakelm
Contributor
Contributor

Also, I ran the cat /dev/usbdevices and my mouse actually came up as V: Available for passthrough.

Reply
0 Kudos