¿Cómo puedo solucionar un problema de USB 3.0 en una máquina virtual VirtualBox Ubuntu 14.04?

¿Cómo puedo solucionar un problema de USB 3.0 en una máquina virtual VirtualBox Ubuntu 14.04?

Durante los últimos días he pasado mucho tiempo buscando una solución a este desafío.

Tengo una unidad de escritorio Seagate Expansion, que es un disco USB 3.0 externo de 2 TB que uso para realizar pruebas. La unidad se conecta a un puerto USB 3.0 de mi Macbook Pro en una prueba y a un puerto USB 3.0 de mi Mac Mini en otra prueba. Tanto el Macbook Pro como el Mac Mini tienen virtualbox instalado y tienen instalado un invitado de Ubuntu. La unidad debe ser accesible para el invitado de Ubuntu.

Mi configuración actual: Macbook Pro:

Model Name: MacBook Pro
  Model Identifier: MacBookPro11,1
  Processor Name:   Intel Core i7
  Processor Speed:  2,8 GHz
  Number of Processors: 1
  Total Number of Cores:    2
  L2 Cache (per Core):  256 KB
  L3 Cache: 4 MB
  Memory:   16 GB
  Boot ROM Version: MBP111.0138.B15
  SMC Version (system): 2.16f68

Versiones:

Anfitrión:

Mac OSX: 10.10.5
VirtualBox: 5.0.4 r102546
USB device: Seagate Expansion Desktop Drive 2TB
Oracle VM VirtualBox Extension Pack: 5.0.4r102546 Installed
In Setup - Ports - USB  USB 3.0 (xHCI) Controller is enabled

Invitado:

Guest:  Ubuntu 14.04
VboxGuestAdditions installed

uname -a

Linux patal-vbox-ubuntu-002 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Condición previa: Unidad Seagate conectada a la alimentación y al puerto USB 3.0 en Macbook Pro (o Mini) (expulsada en Filer en osx) Macbook Pro iniciado e iniciado sesión VirtualBox iniciado Invitado (Ubuntu 14.04) Iniciado e iniciado sesión (modo ventana no pantalla completa)

Resultado esperado: la unidad Seagate debería aparecer en el Administrador de archivos en Dispositivos en Ubuntu. La unidad debe aparecer en /dev como una unidad como /dev/sdb en ubuntu, por ejemplo. La unidad debe poder montarse en ubuntu.

Resultado real: La unidad no aparece en el Administrador de archivos en Dispositivos en ubuntu. La unidad no aparece en /dev en ubuntu.

root@patal-vbox-ubuntu-002:~# ls -al /dev/sd*
brw-rw---- 1 root disk 8, 0 sep 26 09:16 /dev/sda
brw-rw---- 1 root disk 8, 1 sep 26 09:11 /dev/sda1
brw-rw---- 1 root disk 8, 2 sep 26 09:16 /dev/sda2
brw-rw---- 1 root disk 8, 5 sep 26 09:11 /dev/sda5

lsusb:

root@patal-vbox-ubuntu-002:~# lsusb
Bus 002 Device 002: ID 0bc2:3321 Seagate RSS LLC 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

salida lsusb detallada para Seagate RSS LLC: root@patal-vbox-ubuntu-002:~# lsusb -v

Bus 002 Device 002: ID 0bc2:3321 Seagate RSS LLC 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x0bc2 Seagate RSS LLC
  idProduct          0x3321 
  bcdDevice            1.00
  iManufacturer           2 Seagate
  iProduct                3 Expansion Desk
  iSerial                 1 NA4KX5JA
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          121
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           4
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     98 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-in pipe (0x03)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Data-out pipe (0x04)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst              15
        MaxStreams             32
        Status pipe (0x02)
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
        Command pipe (0x01)
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000e
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat          10 micro seconds
    bU2DevExitLat        2047 micro seconds
Device Status:     0x0001
  Self Powered

salida de dmesg:

[  795.810773] usb 2-1: new SuperSpeed USB device number 3 using xhci_hcd
[  795.829590] usb 2-1: New USB device found, idVendor=0bc2, idProduct=3321
[  795.829594] usb 2-1: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[  795.829595] usb 2-1: Product: Expansion Desk
[  795.829596] usb 2-1: Manufacturer: Seagate
[  795.829597] usb 2-1: SerialNumber: NA4KX5JA
[  795.857795] usb 2-1: USB controller 0000:00:0c.0 does not support streams, which are required by the UAS driver.
[  795.857798] usb 2-1: Please try an other USB controller if you wish to use UAS.
[  795.857799] usb-storage 2-1:1.0: USB Mass Storage device detected
[  795.857848] scsi host5: usb-storage 2-1:1.0
[  822.485641] usb 2-1: reset SuperSpeed USB device number 3 using xhci_hcd
[  822.503463] xhci_hcd 0000:00:0c.0: xHCI xhci_drop_endpoint called with disabled ep ffff880013ebac00
[  822.503468] xhci_hcd 0000:00:0c.0: xHCI xhci_drop_endpoint called with disabled ep ffff880013ebac48
[  890.772127] audit_printk_skb: 120 callbacks suppressed
[  890.772130] audit: type=1400 audit(1443252349.697:62): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=2761 comm="apparmor_parser"
[  890.772135] audit: type=1400 audit(1443252349.697:63): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2761 comm="apparmor_parser"
[  890.772386] audit: type=1400 audit(1443252349.697:64): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=2761 comm="apparmor_parser"

Sospecho que el problema está en esta línea del dmesg:

[  795.857795] usb 2-1: USB controller 0000:00:0c.0 does not support streams, which are required by the UAS driver.

¿Es un problema de Virtualbox o de Ubuntu? ¿Es posible que Ubuntu no esté manejando correctamente el controlador USB xHCI?

Por cierto, Drive funciona en una estación de trabajo kubuntu dedicada y en una máquina virtual con Windows 10 del mismo macbook pro.

@nephente (se adjunta según lo solicitado) Supongo que se refiere a configurar el controlador en VirtualBox en el controlador USB 2.0 (EHCI). Si este es el caso, aparece el siguiente error en VirtualBox:

Failed to attach the USB device Seagate Expansion Desk [0100] to the virtual machine patal-vbox-ubuntu-002. 

Failed to create a proxy device for the USB device. 

(Error: VERR_PDM_NO_USB_PORTS). 

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

Otra cosa que también intenté pero no mencioné fue conectar el dispositivo USB 3.0 a un concentrador USB 2.0 y conectar el concentrador a la Macbook Pro. Esto tampoco funcionó.

@Takkat Gracias por su sugerencia de crear un filtro y asegurarse de que la unidad esté desmontada/expulsada de OSX.

Creé un filtro para Seagate Expansion Desk (Escritorio como en Escritorio) y me aseguré de que la unidad no esté montada en OSX.

Resultado: asegurarse de que la unidad no estuviera montada y crear un filtro para la unidad no hizo ninguna diferencia. La unidad aún se reconoce como se describe al principio de esta publicación.

Respuesta1

La compatibilidad con USB 3.0 se agregó recientemente en la versión 5.0 de VirtualBox. Por favor lea las notas de la versión.aquí. (Para una búsqueda rápida utilice la función de búsqueda de su navegador y escriba "USB 3").

Para acceder a esta nueva función, debe instalar el paquete de extensión.

Descarga aquí

Para poder instalar el paquete de extensión debes hacer clic derecho en el archivo descargado y "Abrir con..." virtualbox.

No sé si esto es lo mismo (en MAC) que en Linux, pero es posible que necesites agregar tu usuario al grupo 'virtualbox' para poder acceder a algunas funciones sin problemas.

Respuesta2

Estaba enfrentando el mismo problema. Después de actualizar mi VirtualBox, apagué mi máquina virtual y en sus propiedades de VirtualBox modifiqué el controlador USB para USB 3.0 (xHCI).

Ahora, mi unidad externa USB funciona bien.

Respuesta3

Estaba teniendo dificultades con USB3 y USB2. Había cargado Guest Additions y el paquete de extensión. No se mostró nada. Utilicé lsusbdesde la terminal Linux para identificar un dispositivo y (mientras la máquina virtual estaba apagada) creé un filtro USB3 con el bus, el dispositivo, la identificación del proveedor y la identificación del producto.

Ejemplo:

Bus 010 Dispositivo 006: ID 1f75:0903 Innostor Technology Corporation. Bus # = El controlador USB3 específico.

El número de dispositivo es el puerto del dispositivo. El ID es el ID del proveedor (inicialmente puede haber un 0x antes de la dirección hexadecimal real).

El ID de proveedor de mi dispositivo es 1f75, pero apareció como 0x1f75. Solo use los últimos 4 dígitos (lo mismo con el ID de PRODUCTO). Una vez que lo guardé y arranqué, pude ver los dispositivos cuando comencé, pero el invitado de vbox no pudo capturarlos.

Tomé un controlador USB de Windows de:

Intel(Intel(R)USB_3.0_eXtensible_Host_Controller_Driver)

y lo instalé, eliminé el filtro original que creé, reinicié la máquina virtual y todo funcionó.

información relacionada