Ubuntu – What are the proper values for usb device in virtual box

usbvirtualbox

I have various windows programs running in virtual boxes. I have a StingRay scope which previously ran in xp with the following parameters
usb parameters

The product is DS1M12A, but I don't know how I got the details the first time around. Now I can part of the details via lsusb -v which gives

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

The only thing which is obvious is the Vendor ID and the Product ID. Where I previously picked up all the other information is a mystery.

I tried to put in empty strings for Revision, Manufacturer, Product and Serial No. but it didn't help. When I tried to have win7 discover the scope, it failed to see anything.

Again, this used to work for my xp virtual box but it has stopped working. In the meantime I switched versions of Ubuntu as well as switched the underlying computer from dual core to quad core. All the rest of my usb devices continued to work OK.

Thanks,
Ilan

Best Answer

  • We can list all entries needed for creating an USB filter with the following command:

    VBoxManage list usbhost
    

    This will give us an output similar to the one below for all devices recognized in the host:

    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
    

    For creating an USB filter to always capture a USB-device when running a virtual machine we can select from any one of these entries.

    We can e.g. just fill in theVendorID to let the virtual machine capture all devices from this vendor. In case we additionally give the ProductID is becomes less likely we have more than one such device attached, but stillm giving a UUID or the Serial in addition helps to only capture this single known device.

    Note that most but still not all devices are supported by Virtual Box or the guest OS. Some devices may even lead to a boot failure of the guest when defined as a filter. We can not use filters on such devices then. Some USB2.0-devices will not work on an USB3.0 port.

    For prerequisites when using USB in Virtual Box also see: How to set up USB for Virtualbox?

  • Related Question