Opened 8 years ago
Closed 8 years ago
#15764 closed defect (fixed)
Unknown device (USB pass through) => fixed in SVN/5.1.x
Reported by: | JsT | Owned by: | |
---|---|---|---|
Component: | USB | Version: | VirtualBox 5.1.2 |
Keywords: | USB Pass through Unknown device | Cc: | |
Guest type: | Windows | Host type: | Linux |
Description
I have reported bug #15644 which was partially fixed. Please take a look there for all reported info and logs.
The problem is that the affected by the bug USB devices (from #15644) are now visible, but still without showing their full name and thus the Windows OS thinks that those devices are new.
For example the device 0658:0200 Sigma Designs, Inc. was recognized as 0058:0000 (lost high byte) now is correctly shown as 0658:0200, but the name "Sigma Designs, Inc." is still shown as "Unknown device".
Attachments (1)
Change History (11)
comment:1 by , 8 years ago
comment:2 by , 8 years ago
No, in VirtualBox version 5.0.24 this device is properly recognized: both ids and name.
When you add or edit new USB Filter you see under the "Name" field: "Sigma Designs, Inc." So, this name is available both in USB Filter settings and when you run the VM with live list of available for grabbing from Linux host side.
In general the name "Sigma Designs, Inc." was always available everywhere: in dmsg, lsusb, VM filters and so.
However after VB 5.1.x this became Unknown device.
The important side effect from this is the fact, that after next reboot of the Guest (Windows 10) system, the Windows recognized the device as new and assigned a new COM port, which never happen before. I guess the Windows also suffers from this bug in one way or another.
P.S. Let me know if you need more debug info.
comment:3 by , 8 years ago
When you try usbhost on the Host (Linux), currently (in VB 5.1.2) you don't get a "Product:" field.
$ VBoxManage list -l usbhost |grep -A6 -B3 0200 UUID: 5dc6a319-0b52-43fc-b1ec-196a4fa422cc VendorId: 0x0658 (0658) ProductId: 0x0200 (0200) Revision: 0.0 (0000) Port: 4 USB version/speed: 2/Full Address: sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5//device:/dev/vboxusb/001/019 Current State: Captured
I guess the missing "Product:" is the reason for current "Unknown device 0658:0200".
Also in my list (USB filters -> Add) I see another two devices that are "Unknown": Unknown device 8087:07DC [0001] Unknown device 138A:0010 [0078]
All those were also listed with their names properly in VB 5.0.24 as far as I remember.
comment:4 by , 8 years ago
I tried today, testing on the older VB 5.0.24, just to be 100% sure:
$ VBoxManage list -l usbhost Host USB Devices: UUID: 53433a82-45dc-4461-9cd6-a114ec44c615 VendorId: 0x0658 (0658) ProductId: 0x0200 (0200) Revision: 0.0 (0000) Port: 2 USB version/speed: 2/Full Manufacturer: Sigma Designs, Inc. Address: sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3//device:/dev/vboxusb/003/010 Current State: Available
So, rather the missing filed is probably "Manufacturer".
And YES, the name of the device is not "Unknown device", but it is "Sigma Designs, Inc.".
Basically that means there is degradation between 5.0.24 and 5.1.x
comment:6 by , 8 years ago
$ lsusb -d 0658:0200 -vvv Bus 001 Device 014: ID 0658:0200 Sigma Designs, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 2 Communications bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0658 Sigma Designs, Inc. idProduct 0x0200 bcdDevice 0.00 iManufacturer 0 iProduct 0 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 67 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 2 Communications bInterfaceSubClass 2 Abstract (modem) bInterfaceProtocol 1 AT-commands (v.25ter) iInterface 0 CDC Header: bcdCDC 1.10 CDC Call Management: bmCapabilities 0x00 bDataInterface 1 CDC ACM: bmCapabilities 0x00 CDC Union: bMasterInterface 0 bSlaveInterface 1 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 32 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 10 CDC Data bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0020 1x 32 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 0x0020 1x 32 bytes bInterval 0 can't get device qualifier: Resource temporarily unavailable can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered)
comment:7 by , 8 years ago
As I said before, the "Sigma Designs, Inc." is just an example. From the attached image you can see that I have two more devices with "Unknown" status.
Sure, in case of Sigma and the list mentioned at http://www.linux-usb.org/usb.ids , indeed the product (0200) is not listed, BUT the Manufacture (0658) is known, so it is better to have "Sigma Designs, Inc." listed there (as it was in VB 5.0.24) instead of "Unknown device".
However the logic of using only usb.ids is not even true, for case with the "Unknown device" 138A:0010. According to http://www.linux-usb.org/usb.ids that device is:
138a Validity Sensors, Inc. 0010 VFS Fingerprint sensor
But instead it is still listed as "Unknown device"!
Here is the lsusb for that device too:
$ lsusb -d 138A:0010 -vvv Bus 001 Device 007: ID 138a:0010 Validity Sensors, Inc. VFS Fingerprint sensor Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 17 bDeviceProtocol 255 bMaxPacketSize0 8 idVendor 0x138a Validity Sensors, Inc. idProduct 0x0010 VFS Fingerprint sensor bcdDevice 0.78 iManufacturer 0 iProduct 0 iSerial 1 b0e02a819fcc bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 46 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 4 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT 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 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 0x82 EP 2 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 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 4 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered)
comment:8 by , 8 years ago
Summary: | Unknown device (USB pass through) → Unknown device (USB pass through) => fixed in SVN/5.1.x |
---|
Reproduced, this will be fixed in the next maintenance release.
comment:9 by , 8 years ago
The latest 5.1 test builds (>= revision 110316) have the fix. These builds can be found here.
The device 0658:0200 is just not (yet) known by the internal USB database. VirtualBox uses the information from http://www.linux-usb.org/usb.ids to determine the name for unknown devices. So I guess that device is also unknown to your Linux host?