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.
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 lsusb
das 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.