我在虚拟框中运行各种 Windows 程序。我有一个 StingRay 示波器,之前在 xp 中运行,参数如下
产品是 DS1M12A,但我不知道第一次是如何获得详细信息的。现在我可以通过 lsusb -v 获取部分详细信息,结果如下
Bus 005 Device 004: ID 0403:fac2 Future Technology Devices International, Ltd
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0xfac2
bcdDevice 5.00
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 55
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 160mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
唯一显而易见的是供应商 ID 和产品 ID。我之前从哪里获得所有其他信息是一个谜。
我尝试将版本、制造商、产品和序列号输入空字符串,但无济于事。当我尝试让 win7 发现范围时,它什么也没看到。
再次,这曾经适用于我的 xp 虚拟盒,但现在已停止工作。与此同时,我切换了 Ubuntu 版本,并将底层计算机从双核切换到四核。我其余的 USB 设备继续正常工作。
谢谢,Ilan
答案1
我们可以使用以下命令列出创建 USB 过滤器所需的所有条目:
VBoxManage list usbhost
对于主机中识别的所有设备,这将为我们提供类似于以下的输出:
UUID: 123400c1-fc2c-44b8-202f-e5c80c133027
VendorId: 0x03f0 (03F0)
ProductId: 0xa407 (A407)
Revision: 3.33 (0333)
Port: 1
USB version/speed: 2/Full
Manufacturer: HP
Product: HP Link-5 micro dongle
Address: sysfs:/sys/devices/pci0000:00/0000:00:10.0/usb6/6-2//device:/dev/vboxusb/006/002
Current State: Busy
为了创建一个USB 过滤器要在运行虚拟机时始终捕获 USB 设备,我们可以从这些条目中的任何一个中进行选择。
例如,我们可以只填写VendorID
让虚拟机捕获全部来自此供应商的设备。如果我们另外给出,则ProductID
不太可能我们连接了多个这样的设备,但仍然给出UUID
或Serial
另外有助于仅捕获此单个已知设备。
请注意,Virtual Box 或客户操作系统支持大多数(但不是全部)设备。某些设备在定义为过滤器时甚至可能导致客户机启动失败。那么我们就不能在这样的设备上使用过滤器了。某些 USB2.0 设备无法在 USB3.0 端口上运行。
有关在 Virtual Box 中使用 USB 的先决条件,另请参阅:如何为 Virtualbox 设置 USB?