Como posso corrigir um problema de USB 3.0 em uma VM Ubuntu 14.04 VirtualBox

Como posso corrigir um problema de USB 3.0 em uma VM Ubuntu 14.04 VirtualBox

Nos últimos dias, passei muito tempo procurando uma solução para esse desafio.

Eu tenho um Seagate Expansion Desktop Drive, que é um disco USB 3.0 externo de 2 TB que uso para testes. A unidade é conectada a uma porta USB 3.0 no meu Macbook Pro em um teste e a uma porta USB 3.0 no meu Mac Mini para outro teste. Tanto o Macbook Pro quanto o Mac Mini possuem o virtualbox instalado e um convidado Ubuntu instalado. A unidade deve estar acessível ao convidado do Ubuntu.

Minha configuração atual: 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

Versões:

Hospedar:

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

Convidado:

Guest:  Ubuntu 14.04
VboxGuestAdditions installed

sem nome -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

Pré-condição: unidade Seagate conectada à alimentação e porta USB 3.0 no Macbook Pro (ou Mini) (ejetado no Filer em osx) Macbook Pro iniciado e conectado VirtualBox iniciado Convidado (Ubuntu 14.04) Iniciado e conectado (modo janela não tela cheia)

Resultado esperado: a unidade Seagate deve estar listada no gerenciador de arquivos em Dispositivos no Ubuntu. A unidade deve estar listada em /dev como uma unidade como /dev/sdb no ubuntu por exemplo A unidade deve ser montável no ubuntu

Resultado real: A unidade não está listada no gerenciador de arquivos em Dispositivos no Ubuntu A unidade não está listada em /dev no 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

saída lsusb detalhada 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

saída 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"

Suspeito que o problema esteja nesta linha do dmesg:

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

É um problema do Virtualbox ou do Ubuntu? O Ubuntu poderia não estar lidando corretamente com o controlador USB xHCI?

Aliás, o Drive funciona em uma estação de trabalho kubuntu dedicada e em uma VM do Windows 10 do mesmo macbook pro.

@nephente (anexado conforme solicitado) Presumo que você pretenda definir o controlador no VirtualBox como controlador USB 2.0 (EHCI). Se for esse o caso, recebo o seguinte erro no 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}

Outra coisa que também tentei, mas não mencionei, foi conectar o dispositivo USB 3.0 a um hub USB 2.0 e conectar o hub ao Macbook Pro. Isso também não funcionou.

@Takkat Obrigado por sua sugestão de criar um filtro e garantir que a unidade seja desmontada/ejetada do osx.

Criei um filtro para o Seagate Expansion Desk (Desk como no Desktop) e certifiquei-me de que a unidade não esteja montada em osx.

Resultado: certificar-se de que o drive não estava montado e criar um filtro para o drive não fez diferença. A unidade ainda é reconhecida conforme descrito no início deste post.

Responder1

O suporte USB 3.0 foi adicionado recentemente no VirtualBox versão 5.0. Por favor, leia as notas de lançamentoaqui. (Para uma pesquisa rápida use a função de pesquisa do seu navegador e escreva "USB 3").

Para acessar este novo recurso você deve instalar o Extension Pack.

Baixe aqui

Para instalar o pacote de extensão você deve clicar com o botão direito no arquivo baixado e "Abrir com..." virtualbox.

Não sei se é igual (em MACs) ao Linux, mas pode ser necessário adicionar seu usuário no grupo 'virtualbox' para acessar alguns recursos sem problemas.

Responder2

Eu estava enfrentando o mesmo problema. Após atualizar meu VirtualBox, desliguei minha máquina virtual e nas propriedades do VirtualBox modifiquei o controlador USB para USB 3.0 (xHCI).

Agora, minha unidade externa USB está funcionando bem.

Responder3

Eu estava tendo dificuldades com USB3 e USB2. Eu carreguei o Guest Additions e o pacote de extensões. Nada apareceu. Usei lsusbo terminal Linux para identificar um dispositivo e (enquanto a VM estava desligada) criei um filtro USB3 com o barramento, o dispositivo, o ID do fornecedor e o ID do produto.

Exemplo:

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

Device # é a porta do dispositivo. ID é o ID do fornecedor (inicialmente pode haver um 0x antes do endereço hexadecimal real.

O ID do fornecedor do meu dispositivo é 1f75, mas apareceu como 0x1f75, basta usar os últimos 4 dígitos (o mesmo com o ID do PRODUTO). Depois de salvá-lo e inicializá-lo, pude ver os dispositivos quando comecei, mas o convidado do vbox não conseguiu acessá-los.

Peguei um driver USB do Windows em:

Intel(Intel(R)USB_3.0_eXtensible_Host_Controller_Driver)

e instalei, apaguei o filtro original que criei, reiniciei a máquina virtual e tudo funcionou.

informação relacionada