Wie kann ich ein USB 3.0-Problem in einer Ubuntu 14.04 VirtualBox VM beheben?

Wie kann ich ein USB 3.0-Problem in einer Ubuntu 14.04 VirtualBox VM beheben?

Ich habe in den letzten Tagen sehr viel Zeit damit verbracht, nach einer Lösung für diese Herausforderung zu suchen.

Ich habe ein Seagate Expansion Desktop Drive, eine externe 2 TB USB 3.0-Festplatte, die ich zum Testen verwende. Das Laufwerk ist in einem Test an einen USB 3.0-Anschluss meines Macbook Pro und für einen anderen Test an einen USB 3.0-Anschluss meines Mac Mini angeschlossen. Sowohl auf dem Macbook Pro als auch auf dem Mac Mini ist Virtualbox installiert und ein Ubuntu-Gast installiert. Das Laufwerk sollte für den Ubuntu-Gast zugänglich sein.

Mein aktuelles Setup: 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

Versionen:

Gastgeber:

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

Gast:

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

Voraussetzung: Seagate-Laufwerk an Strom und USB 3.0-Anschluss am Macbook Pro (oder Mini) angeschlossen (in Filer in OSX ausgeworfen) Macbook Pro gestartet und angemeldet VirtualBox gestartet Gast (Ubuntu 14.04) gestartet und angemeldet (Fenstermodus, nicht Vollbild)

Erwartetes Ergebnis: Das Seagate-Laufwerk sollte im Dateimanager unter „Geräte“ in Ubuntu aufgeführt sein. Das Laufwerk sollte in /dev als Laufwerk wie z. B. /dev/sdb in Ubuntu aufgeführt sein. Das Laufwerk sollte in Ubuntu gemountet werden können.

Tatsächliches Ergebnis: Das Laufwerk wird im Dateimanager unter „Geräte“ in Ubuntu nicht aufgeführt. Das Laufwerk wird in Ubuntu nicht unter /dev aufgeführt.

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

ausführliche lsusb-Ausgabe für 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

dmesg-Ausgabe:

[  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"

Ich vermute, das Problem liegt in dieser Zeile des Dmesg:

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

Handelt es sich um ein Virtualbox- oder Ubuntu-Problem? Könnte es sein, dass Ubuntu den USB-xHCI-Controller nicht richtig handhabt?

Das Laufwerk funktioniert übrigens auf einer dedizierten Kubuntu-Workstation und in einer Windows 10-VM vom selben MacBook Pro.

@nephente (wie gewünscht angehängt) Ich nehme an, Sie möchten den Controller in VirtualBox auf USB 2.0 (EHCI) Controller einstellen. Wenn dies der Fall ist, erhalte ich in VirtualBox den folgenden Fehler:

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}

Eine weitere Sache, die ich auch versucht, aber vergessen habe zu erwähnen, war, das USB 3.0-Gerät an einen USB 2.0-Hub anzuschließen und den Hub an das Macbook Pro anzuschließen. Auch das hat nicht funktioniert.

@Takkat, danke für Ihren Vorschlag, einen Filter zu erstellen und sicherzustellen, dass das Laufwerk von OSX ausgehängt/ausgeworfen wird.

Ich habe einen Filter für den Seagate Expansion Desk (Desk wie in Desktop) erstellt und sichergestellt, dass das Laufwerk nicht in OSX gemountet ist.

Ergebnis: Sicherzustellen, dass das Laufwerk nicht gemountet ist, und ein Filter für das Laufwerk zu erstellen, hat keinen Unterschied gemacht. Das Laufwerk wird weiterhin erkannt, wie am Anfang dieses Beitrags beschrieben.

Antwort1

Die USB 3.0-Unterstützung wurde kürzlich in VirtualBox Version 5.0 hinzugefügt. Bitte lesen Sie die VersionshinweiseHier. (Für eine schnelle Suche nutzen Sie die Suchfunktion Ihres Browsers und geben Sie „USB 3“ ein.)

Um auf diese neue Funktion zugreifen zu können, müssen Sie das Erweiterungspaket installieren.

Hier herunterladen

Um das Erweiterungspaket zu installieren, müssen Sie mit der rechten Maustaste auf die heruntergeladene Datei klicken und „Öffnen mit …“ in der Virtualbox auswählen.

Ich weiß nicht, ob dies (auf MACs) dasselbe ist wie unter Linux, aber Sie müssen Ihren Benutzer möglicherweise zur Gruppe „Virtualbox“ hinzufügen, um problemlos auf einige Funktionen zugreifen zu können.

Antwort2

Ich hatte das gleiche Problem. Nach dem Upgrade meiner VirtualBox schaltete ich einfach meine virtuelle Maschine aus und änderte in ihren VirtualBox-Eigenschaften den USB-Controller für USB 3.0 (xHCI).

Jetzt funktioniert mein externes USB-Laufwerk einwandfrei.

Antwort3

Ich hatte Schwierigkeiten mit USB3 und USB2. Ich hatte Guest Additions und ein Erweiterungspaket geladen. Nichts wurde angezeigt. Ich habe lsusbdas Linux-Terminal verwendet, um ein Gerät zu identifizieren, und (während die VM heruntergefahren war) einen USB3-Filter mit Bus, Gerät, Hersteller-ID und Produkt-ID erstellt.

Beispiel:

Bus 010 Gerät 006: ID 1f75:0903 Innostor Technology Corporation. Bus-Nr. = Der spezifische USB3-Controller.

Gerätenummer ist der Port auf dem Gerät. ID ist die Hersteller-ID (zunächst kann vor der eigentlichen Hex-Adresse ein 0x stehen).

Die Hersteller-ID meines Geräts lautet 1f75, aber sie wurde als 0x1f75 angezeigt. Verwenden Sie einfach die letzten 4 Ziffern (dasselbe gilt für die Produkt-ID). Nachdem ich das gespeichert und gebootet hatte, konnte ich die Geräte beim Start sehen, aber der Vbox-Gast konnte sie nicht abrufen.

Ich habe einen Windows-USB-Treiber von:

Intel (Intel(R)USB_3.0_eXtensible_Host_Controller_Treiber)

und habe es installiert, den ursprünglich erstellten Filter gelöscht, die virtuelle Maschine neu gestartet und alles hat funktioniert.

verwandte Informationen