Page 1 of 1

Influence of hosts perspective of a USB device on USB forwarding

Posted: 1. Jun 2016, 12:36
by alan.martinovic
I have windows 8 in a virtual machine and an trying forward a USB device from the Linux host.

The device in order is a digital oscilloscope which has a set of propitiatory Windows only drivers.

The device is recognized on the Linux host machine as something weird "Linux 3.2.35 with s3c-hsudc Gadget Serial v2.4 [2430]"
And it also starts the network manager act as if there is a new device.
There is no Linux support so this weirdness somewhat expected.

I filter the device into the Windows virtual machine and try to install the official drivers.
This gives me a very vague error.

For the sake of debugging the issue I am trying to answer the following question.
Could it be that the way the host is identifying the USB device influence how the device is forwarded to the virtual machine?

Re: Influence of hosts perspective of a USB device on USB forwarding

Posted: 1. Jun 2016, 15:13
by socratis
Plug in the device. Open a Command Prompt window. Navigate to the VirtualBox installation directory (typically "C:\Program Files\Oracle\VirtualBox\"). Post the output of the commands:
   VBoxManage list usbhost
   VBoxManage showvminfo "<Your_VM_name>"
Use the

Code: Select all

 tag to enclose the information, it makes it easier to read.

Re: Influence of hosts perspective of a USB device on USB forwarding

Posted: 20. Jun 2016, 14:52
by alan.martinovic
Host: Ubuntu 16.04 LTS 64bit
Virtual machine: Windows 8.1 64bit
Virtualbox: Version 5.0.20 r106931

I switched to a new oscilloscope and it exhibits the same behavior.
The device works correctly on a native Windows machine but fails when the usb is filtered into the Windows virtual machine.

Below is the suggested output:

Code: Select all

$ VBoxManage list usbhost

UUID:               ffe119f6-4ddf-4771-a594-a4169d9cacad
VendorId:           0x0ce9 (0CE9)
ProductId:          0x1007 (1007)
Revision:           0.5 (0005)
Port:               1
USB version/speed:  2/High
Manufacturer:       Pico Technology
Product:            PicoScope 2000 series PC Oscilloscope
Address:            sysfs:/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2//device:/dev/vboxusb/002/008
Current State:      Available



$ VBoxManage showvminfo "Windows"
Name:            Windows
Groups:          /
Guest OS:        Windows 8.1 (64-bit)
UUID:            d3719a24-5274-47fe-8962-fb1e91ccec5f
Config file:     /home/alan/VirtualBox VMs/Windows/Windows.vbox
Snapshot folder: /home/alan/VirtualBox VMs/Windows/Snapshots
Log folder:      /home/alan/VirtualBox VMs/Windows/Logs
Hardware UUID:   d3719a24-5274-47fe-8962-fb1e91ccec5f
Memory size:     4096MB
Page Fusion:     off
VRAM size:       128MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
PAE:             off
Long Mode:       on
CPUID Portability Level: 0
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
Time offset:     0ms
RTC:             local time
Hardw. virt.ext: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
VT-x unr. exec.: on
Paravirt. Provider: Default
State:           powered off (since 2016-06-17T14:00:51.000000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address: 
Teleporter Password: 
Tracing Enabled: off
Allow Tracing to Access VM: off
Tracing Configuration: 
Autostart Enabled: off
Autostart Delay: 0
Default Frontend: 
Storage Controller Name (0):            SATA
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      2
Storage Controller Bootable (0):        on
SATA (0, 0): /home/alan/VirtualBox VMs/Windows/Windows-disk1.vmdk (UUID: 521a4d47-45b0-4fd8-89cb-98932fcc1eda)
SATA (1, 0): Empty
NIC 1:           MAC: 08002748DA0D, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 2:           disabled
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: USB Tablet
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
UART 3:          disabled
UART 4:          disabled
LPT 1:           disabled
LPT 2:           disabled
Audio:           enabled (Driver: PulseAudio, Controller: HDA, Codec: STAC9221)
Clipboard Mode:  Bidirectional
Drag and drop Mode: disabled
VRDE:            disabled
USB:             enabled
EHCI:            disabled
XHCI:            disabled

USB Device Filters:

Index:            0
Active:           no
Name:             EnOcean GmbH EnOcean USB 300 DB [0600]
VendorId:         0403
ProductId:        6001
Revision:         0600
Manufacturer:     EnOcean GmbH
Product:          EnOcean USB 300 DB
Remote:           0
Serial Number:    FTYO54LD

Bandwidth groups:  <none>

Shared folders:  

Name: 'DSO1000D', Host path: '/media/alan/DSO1000D' (machine mapping), readonly

Video capturing:    not active
Capture screens:    0
Capture file:       /home/alan/VirtualBox VMs/Windows/Windows.webm
Capture dimensions: 1024x768
Capture rate:       512 kbps
Capture FPS:        25

Guest:

Configured memory balloon size:      0 MB

Re: Influence of hosts perspective of a USB device on USB forwarding

Posted: 22. Jun 2016, 15:23
by alan.martinovic
The issue doesn't manifest itself when running a Windows 8 virtual machine under VMWare Player

Re: Influence of hosts perspective of a USB device on USB forwarding

Posted: 1. Jul 2016, 20:14
by socratis
alan.martinovic wrote:I switched to a new oscilloscope and it exhibits the same behavior.
You shouldn't have done that. Here is why. Your filter shows:
VendorId:         0403
ProductId:        6001
and your device is:
VendorId:           0x0ce9 (0CE9)
ProductId:          0x1007 (1007)
You see why the filter will not catch the device? Mismatch. Oh, BTW, when setting a USB filter these are the two most important values, VendorID & ProductID. You should delete the rest of them (until you actually need them, advanced topic, don't worry about it now).