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.
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é lsusb
desde 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ó.