VMware:无法将USB设备通过ESXi vSphere 5.5连接到VM

时间:2020-02-23 14:45:18  来源:igfitidea点击:

我最近在尝试将USB设备连接到虚拟机时遇到了VMware ESXi vSphere 5.5虚拟机管理程序的以下问题。
主机服务器实际上可以看到USB设备:

lsusb
Bus 02 Device 04: ID 1058:0748 Western Digital Technologies, Inc.
Bus 02 Device 03: ID 09eb:0131 IM Networks, Inc.
Bus 02 Device 02: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 02 Device 01: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 01 Device 04: ID 0624:0249 Avocent Corp.
Bus 01 Device 03: ID 0624:0248 Avocent Corp.
Bus 01 Device 02: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 01 Device 01: ID 1d6b:0002 Linux Foundation 2.0 root hub

我可以在日志中观察到以下错误:

/var/log/usb.log
2014-02-19T14:45:16Z usbarb[33760]: W110: USBArb: Error in rules file at line 1:0, '[' or '{' expected near end of file.
2014-02-19T14:45:16Z usbarb[33760]: I120: VMware USB Arbitration Service Version 11.1.6
2014-02-19T14:45:16Z usbarb[33760]: I120: USBArb: Attempting to connect to existing arbitrator on /var/run/vmware/usbarbitrator-socket.
2014-02-19T14:45:16Z usbarb[33760]: I120: SOCKET creating new socket, connecting to /var/run/vmware/usbarbitrator-socket
2014-02-19T14:45:16Z usbarb[33760]: W110: SOCKET connect failed, error 2: No such file or directory
2014-02-19T14:45:16Z usbarb[33760]: I120: USBArb: Failed to connect to the existing arbitrator.
2014-02-19T14:45:31Z usbarb[33760]: I120: USBArb: UsbArbPipeConnected: Connected to client, socket:13
2014-02-19T14:45:31Z usbarb[33760]: I120: USBArb: Client 33882 connected (version: 6)

不管发生什么事,我都可以将USB控制器添加到VM,但是没有显示设备本身是作为虚拟硬件添加到该特定VM的。

最后,最终导致USB仲裁程序脚本出现脚本错误。
若要更正此问题,请按照以下步骤操作:

1.将系统管理程序置于维护模式。

2.进入以下目录:

cd /etc/init.d/

3.复制usbarbitrator脚本(我们这样做是因为原始文件是只读的):

cp -p usbarbitrator usbarbitrator.bak

4.编辑刚复制的脚本:

vi usbarbitrator.bak

5.修改第四行,如下所示:

# chkconfig: 3 70 70

要这样并保护文件:

# chkconfig: 3 17 83

6.禁用并启用usbarbitrator:

chkconfig usbarbitrator off
chkconfig usbarbitrator on

7.重新启动ESXi服务器。

8.停止托管服务:

/etc/init.d/hostd stop

9.停止,然后启动usbarbitrator服务:

/etc/init.d/usbarbitrator stop
/etc/init.d/usbarbitrator start

10.启动托管服务:

/etc/init.d/hostd start

11.转到VM硬件列表,现在应该显示USB设备,只需添加它并启动VM。