What is holding my USB device when I try to use it in VirtualBox?

11,933

I have a similar problem with a different USB device, a Garmin sports watch.

This is my configuration:

  • Host: VirtualBox 5.0.0 r101573 on Ubuntu 14.04, with Oracle VM VirtualBox Extension Pack installed
  • Guest: Windows 7, with VirtualBox Guest Additions installed

No matter what USB controller I choose in the VM settings, whenever I start up the VM I get the error:

Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR).

Result Code: NS_ERROR_FAILURE (0x80004005) Component: ConsoleWrap Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

After some research, I've concluded it's likely to be a notorious VirtualBox bug that is still in the open state (reopened defect, to be precise). See VirtualBox Ticket #5175 for the details. It's something to do with the current state of the device, which is somehow in the Held state (that can be checked by running the VBoxManage list usbhost command as you also did).

Share:
11,933

Related videos on Youtube

dargaud
Author by

dargaud

Updated on September 18, 2022

Comments

  • dargaud
    dargaud over 1 year

    Ubuntu host, XP guest.

    When I connect the USB device I want to the virtual machine, I get:

    Failed to attach the USB device Microchip Technology Inc. PICDEM FS USB Demo Board (C) 2004 to the virtual machine DevelXP. Failed to create a proxy device for the USB device. (Error: VERR_READ_ERROR). Result Code: NS_ERROR_FAILURE (0x80004005) Component: Console Interface: IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}

    $ lsusb
    Bus 002 Device 029: ID 04d8:000c Microchip Technology, Inc. 
    
    $ cat /etc/udev/rules.d/90-picdem.rules 
    SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="000c", GROUP="plugdev", MODE="660"
    

    (I also tried without this file, no change)

    $ grep dargaud /etc/group:
    plugdev:x:46:dargaud
    vboxusers:x:124:dargaud
    
    $ dmesg
    [103413.447464] usb 2-1.3: new full-speed USB device number 29 using ehci-pci
    [103413.549055] usb 2-1.3: New USB device found, idVendor=04d8, idProduct=000c
    [103413.549063] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [103413.549068] usb 2-1.3: Product: PICDEM FS USB Demo Board (C) 2004
    [103413.549072] usb 2-1.3: Manufacturer: Microchip Technology Inc.
    
    $ VBoxManage list usbhost
    Host USB Devices:
    UUID:               fbd0bac3-f283-46bc-9632-603471a932cb
    VendorId:           0x04d8 (04D8)
    ProductId:          0x000c (000C)
    Revision:           0.0 (0000)
    Port:               2
    USB version/speed:  2/1
    Manufacturer:       Microchip Technology Inc.
    Product:            PICDEM FS USB Demo Board (C) 2004
    Address:            sysfs:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3//device:/dev/vboxusb/002/029
    Current State:      Held
    

    Why is it being held ? What is holding it ? Note: other custom usb cards work fine. This one is old though, so could it be a USB1/1.1/2 issue ? I disabled USB 2.0 EHCI temporarily in my VM, but no change.

    More info:

    $ sudo udevadm info -q path -n /dev/bus/usb/002/029
    /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3
    
    $ sudo udevadm info -a -p /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3                      
    
    Udevadm info starts with the device specified by the devpath and then
    walks up the chain of parent devices. It prints for every device
    found, all possible attributes in the udev rules key format.
    A rule to match, can be composed by the attributes of the device
    and the attributes from one single parent device.
    
      looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3':
        KERNEL=="2-1.3"
        SUBSYSTEM=="usb"
        DRIVER=="usb"
        ATTR{bDeviceSubClass}=="00"
        ATTR{bDeviceProtocol}=="00"
        ATTR{devpath}=="1.3"
        ATTR{idVendor}=="04d8"
        ATTR{speed}=="12"
        ATTR{bNumInterfaces}==" 1"
        ATTR{bConfigurationValue}=="1"
        ATTR{bMaxPacketSize0}=="8"
        ATTR{busnum}=="2"
        ATTR{devnum}=="29"
        ATTR{configuration}==""
        ATTR{bMaxPower}=="100mA"
        ATTR{authorized}=="1"
        ATTR{bmAttributes}=="80"
        ATTR{bNumConfigurations}=="1"
        ATTR{maxchild}=="0"
        ATTR{bcdDevice}=="0000"
        ATTR{avoid_reset_quirk}=="0"
        ATTR{quirks}=="0x8"
        ATTR{version}==" 2.00"
        ATTR{urbnum}=="18"
        ATTR{ltm_capable}=="no"
        ATTR{manufacturer}=="Microchip Technology Inc."
        ATTR{removable}=="removable"
        ATTR{idProduct}=="000c"
        ATTR{bDeviceClass}=="00"
        ATTR{product}=="PICDEM FS USB Demo Board (C) 2004"
    
      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1':
        KERNELS=="2-1"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{bDeviceSubClass}=="00"
        ATTRS{bDeviceProtocol}=="01"
        ATTRS{devpath}=="1"
        ATTRS{idVendor}=="8087"
        ATTRS{speed}=="480"
        ATTRS{bNumInterfaces}==" 1"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bMaxPacketSize0}=="64"
        ATTRS{busnum}=="2"
        ATTRS{devnum}=="2"
        ATTRS{configuration}==""
        ATTRS{bMaxPower}=="0mA"
        ATTRS{authorized}=="1"
        ATTRS{bmAttributes}=="e0"
        ATTRS{bNumConfigurations}=="1"
        ATTRS{maxchild}=="8"
        ATTRS{bcdDevice}=="0000"
        ATTRS{avoid_reset_quirk}=="0"
        ATTRS{quirks}=="0x0"
        ATTRS{version}==" 2.00"
        ATTRS{urbnum}=="660"
        ATTRS{ltm_capable}=="no"
        ATTRS{removable}=="unknown"
        ATTRS{idProduct}=="0020"
        ATTRS{bDeviceClass}=="09"
    
      looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2':
        KERNELS=="usb2"
        SUBSYSTEMS=="usb"
        DRIVERS=="usb"
        ATTRS{bDeviceSubClass}=="00"
        ATTRS{bDeviceProtocol}=="00"
        ATTRS{devpath}=="0"
        ATTRS{idVendor}=="1d6b"
        ATTRS{speed}=="480"
        ATTRS{bNumInterfaces}==" 1"
        ATTRS{bConfigurationValue}=="1"
        ATTRS{bMaxPacketSize0}=="64"
        ATTRS{authorized_default}=="1"
        ATTRS{busnum}=="2"
        ATTRS{devnum}=="1"
        ATTRS{configuration}==""
        ATTRS{bMaxPower}=="0mA"
        ATTRS{authorized}=="1"
        ATTRS{bmAttributes}=="e0"
        ATTRS{bNumConfigurations}=="1"
        ATTRS{maxchild}=="3"
        ATTRS{bcdDevice}=="0313"
        ATTRS{avoid_reset_quirk}=="0"
        ATTRS{quirks}=="0x0"
        ATTRS{serial}=="0000:00:1d.0"
        ATTRS{version}==" 2.00"
        ATTRS{urbnum}=="26"
        ATTRS{ltm_capable}=="no"
        ATTRS{manufacturer}=="Linux 3.13.0-29-generic ehci_hcd"
        ATTRS{removable}=="unknown"
        ATTRS{idProduct}=="0002"
        ATTRS{bDeviceClass}=="09"
        ATTRS{product}=="EHCI Host Controller"
    
      looking at parent device '/devices/pci0000:00/0000:00:1d.0':
        KERNELS=="0000:00:1d.0"
        SUBSYSTEMS=="pci"
        DRIVERS=="ehci-pci"
        ATTRS{irq}=="17"
        ATTRS{subsystem_vendor}=="0x1028"
        ATTRS{broken_parity_status}=="0"
        ATTRS{class}=="0x0c0320"
        ATTRS{companion}==""
        ATTRS{enabled}=="1"
        ATTRS{consistent_dma_mask_bits}=="32"
        ATTRS{dma_mask_bits}=="32"
        ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
        ATTRS{device}=="0x3b34"
        ATTRS{uframe_periodic_max}=="100"
        ATTRS{msi_bus}==""
        ATTRS{local_cpulist}=="0-3"
        ATTRS{vendor}=="0x8086"
        ATTRS{subsystem_device}=="0x040a"
        ATTRS{numa_node}=="-1"
        ATTRS{d3cold_allowed}=="1"
    
      looking at parent device '/devices/pci0000:00':
        KERNELS=="pci0000:00"
        SUBSYSTEMS==""
        DRIVERS==""
    
    
    $ VBoxManage showvminfo DevelXP --details  
    Name:            DevelXP
    Groups:          /
    Guest OS:        Windows XP (32 bit)
    UUID:            79b38fbb-d0d5-4b78-9ee4-944050e4b4b8
    Config file:     /home/dargaud/.VirtualBox/Machines/DevelXP/DevelXP.vbox
    Snapshot folder: /home/dargaud/.VirtualBox/Machines/DevelXP/Snapshots
    Log folder:      /home/dargaud/.VirtualBox/Machines/DevelXP/Logs
    Hardware UUID:   79b38fbb-d0d5-4b78-9ee4-944050e4b4b8
    Memory size:     2048MB
    Page Fusion:     off
    VRAM size:       64MB
    CPU exec cap:    100%
    HPET:            off
    Chipset:         piix3
    Firmware:        BIOS
    Number of CPUs:  2
    PAE:             off
    Long Mode:       on
    Synthetic CPU:   off
    CPUID overrides: None
    Boot menu mode:  message and menu
    Boot Device (1): DVD
    Boot Device (2): HardDisk
    Boot Device (3): Not Assigned
    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
    State:           running (since 2014-06-17T12:43:14.761000000)
    Monitor count:   1
    3D Acceleration: off
    2D Video Acceleration: on
    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):            IDE Controller
    Storage Controller Type (0):            PIIX4
    Storage Controller Instance Number (0): 0
    Storage Controller Max Port Count (0):  2
    Storage Controller Port Count (0):      2
    Storage Controller Bootable (0):        on
    IDE Controller (0, 0): /home/dargaud/.VirtualBox/HardDisks/XP.vdi (UUID: 93969496-17bb-46c2-9e56-a7c24b6e05f4)
    IDE Controller (1, 0): Empty
    NIC 1:           MAC: 080027A62FA1, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: Am79C973, 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: PS/2 Mouse
    Keyboard Device: PS/2 Keyboard
    UART 1:          disabled
    UART 2:          disabled
    LPT 1:           disabled
    LPT 2:           disabled
    Audio:           enabled (Driver: ALSA, Controller: AC97)
    Clipboard Mode:  Bidirectional
    Drag'n'drop Mode: disabled
    Session type:    GUI/Qt
    Video mode:      1680x1050x32 at 0,0
    VRDE:            disabled
    USB:             enabled
    EHCI:            enabled
    
    USB Device Filters:
    
    Index:            0
    Active:           no
    Name:             JMicron USB to ATA/ATAPI bridge [0100]
    VendorId:         152d
    ProductId:        2338
    Revision:         0100
    Manufacturer:     JMicron
    Product:          USB to ATA/ATAPI bridge
    Remote:           0
    Serial Number:    43527262060A
    
    Index:            1
    Active:           yes
    Name:             Cypress
    VendorId:         04b4
    ProductId:        8613
    Revision:         
    Manufacturer:     
    Product:          
    Remote:           0
    Serial Number:    
    
    Index:            2
    Active:           no
    Name:             Broadcom Corp 5880 [0101]
    VendorId:         0a5c
    ProductId:        5800
    Revision:         0101
    Manufacturer:     Broadcom Corp
    Product:          5880
    Remote:           0
    Serial Number:    0123456789ABCD
    
    Index:            3
    Active:           yes
    Name:             Microchip Technology Inc. PICDEM FS USB Demo Board (C) 2004
    VendorId:         04d8
    ProductId:        000c
    Revision:         0000
    Manufacturer:     Microchip Technology Inc.
    Product:          PICDEM FS USB Demo Board (C) 2004
    Remote:           
    Serial Number:    
    
    Available remote USB devices:
    
    <none>
    
    Currently Attached USB Devices:
    
    <none>
    
    Bandwidth groups:  <none>
    
    Shared folders:  
    
    Name: 'dargaud', Host path: '/home/dargaud' (machine mapping), writable
    Name: 'lpscdata', Host path: '/informatique/dargaud' (machine mapping), writable
    Name: 'D620', Host path: '/D620' (machine mapping), writable
    Name: 'tmp', Host path: '/tmp' (machine mapping), writable
    
    VRDE Connection:    not active
    Clients so far:     0
    
    Video capturing:    not active
    Capture screens:    0
    Capture file:       /home/dargaud/.VirtualBox/Machines/DevelXP/DevelXP.webm
    Capture dimensions: 1024x768
    Capture rate:       512 kbps
    Capture FPS:        25
    
    Guest:
    
    Configured memory balloon size:      0 MB
    OS type:                             WindowsXP
    Additions run level:                 3
    Additions version:                   4.2.18 r88780
    
    
    Guest Facilities:
    
    Facility "VirtualBox Base Driver": active/running (last update: 2014/06/17 12:43:25 UTC)
    Facility "VirtualBox System Service": active/running (last update: 2014/06/17 12:44:01 UTC)
    Facility "VirtualBox Desktop Integration": active/running (last update: 2014/06/17 12:44:23 UTC)
    Facility "Seamless Mode": active/running (last update: 2014/06/17 12:43:25 UTC)
    Facility "Graphics Mode": active/running (last update: 2014/06/17 12:43:25 UTC)
    
    • Raphael
      Raphael almost 10 years
      Have you enabled USB 2.0 in settings?
    • dargaud
      dargaud almost 10 years
      I you mean in the VM settings, I've tried with and without the USB 2.0 EHCI controller.
    • Raphael
      Raphael almost 10 years
      Ah OK then let me see if I can get something else.
    • dargaud
      dargaud almost 10 years
      Thanks. I suspect this 'Current State: Held' means something important... but I can't find more info about it.
    • Stefan Krüger s-light
      Stefan Krüger s-light over 6 years
      you could try to insert a usb-hub eventually this helps as a workaround
    • Eric
      Eric almost 6 years
      Just install the Guest additions, and use usb3.0, and add a filter for the device, then restart the vm. Refer: stackoverflow.com/a/36123824/1568658