把USB设备插到CVK主机后,在CAS的WEB管理界面给虚机添加USB设备时发现找不到该设备。
(1) USB插槽可能没有插对,USB设备换一个插槽试试。可以尝试把USB设备直接插到服务器内部的USB插槽上。若服务器有多个类型的USB插槽,应把相应型号的USB插到对应插槽上。
(2) 目前USB设备有3.0、2.0、1.0,虽然是向下兼容,但一些USB设备兼容性并不好,例如USB Key一般为1.0设备,插到只有USB3.0插槽的服务器上时,建议在服务器bois里把USB3.0禁用。
(3) 在CVK后台,拔下插上USB设备前后,用lsusb命令查看是否有新增设备。
(4) 用virsh nodedev-list usb_device查看新增USB设备的设备名称。
(1) USB插槽可能没有插对,USB设备换一个插槽试试。用小辫子的,可以尝试把USB设备直接插到服务器内部的USB插槽上。若服务器有多个类型的USB插槽,应把相应型号的USB插到对应插槽上。可用lsusb -t检查USB设备插的插槽是否正确。例:
root@cvk-163:~# lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
命令返回结果里的UHCI表示USB1.1,EHCI表示USB2.0,XHCI表示USB3.0。一般USB1.1最大传输速率为12Mbps,USB2.0最大传输速率为480Mbps,USB3.0最大传输速率为5Gbps。
如果服务器支持多种USB总线标准,给服务器添加一个USB2.0设备后,在USB2.0(ehci-pci)的总线下新增一个USB设备,则说明USB设备插的插槽是正确的。
(2) 目前USB设备有3.0、2.0、1.0,虽然是向下兼容,但一些USB设备兼容性并不好,例如USB Key一般为1.0设备,插到只有USB3.0插槽的服务器上时,建议在服务器bois里把USB3.0禁用。
(3) 进行上述操作后,还无法识别到,继续往下排查。在CVK后台,拔下插上USB设备前后,用lsusb命令查看是否有新增设备,例如:
root@ CVK:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 03f0:7029 Hewlett-Packard
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
¡ 如果没有。系统可以支持市面上绝大多数USB设备,USB设备本身可能有问题,尝试把USB设备插到办公PC上检查该USB设备是否可正常运行,如果可以正常运行,说明USB设备本身是正常的。用以下方法排查是CAS系统问题还是服务器不兼容该USB设备。
服务器裸机安装办公PC一样的系统,插上USB设备检查系统内是否可以识别。
- 若不可以识别,说明是服务器不兼容该USB。
- 若可以识别,说明服务器没有问题,是支持该USB设备的。
¡ 如果有,说明系统已识别到该设备,继续下面步骤排查。
(4) 用virsh nodedev-list usb_device查看新增USB设备的设备名称,例如:
root@ CVK:~# virsh nodedev-list usb_device
usb_usb1
usb_usb2
usb_usb3
usb_usb4
新增usb设备名称为:usb_2_1_5。
(5) 用virsh nodedev-dumpxml xxx查看新增USB设备的XML信息,(xxx为用virsh nodedev-list usb_device 看到的新增usb的设备,如上面的usb_2_1_5),例:
root@CVK:~# virsh nodedev-dumpxml usb_2_1_5
<device>
<name>usb_2_1_5</name>
<path>/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5</path>
<parent>usb_2_1</parent>
<driver>
</driver>
<capability type='usb_device'>
<bus>2</bus>
<device>70</device>
<product id='0x6545'>DataTraveler G2 </product>
<vendor id='0x0930'>Kingston</vendor>
</capability>
</device>