Warum läuft die externe USB 3.0-Festplatte nicht mit USB 3.0-Geschwindigkeit?

16

Ich habe kürzlich eine PCI Express x1 USB 3.0-Controllerkarte (mit dem NEC USB 3.0-Controller) gekauft, um eine externe USB 3.0-Festplatte mit meiner Linux-Box zu verwenden. Ich habe die Karte in einem leeren PCIe-Steckplatz auf meinem Motherboard installiert, die Karte an ein Stromkabel angeschlossen, ein USB 3.0-Kabel zwischen einem der neuen Anschlüsse und meiner externen Festplatte aufgereiht und die Festplatte an eine Wandsteckdose angeschlossen, um die Stromversorgung zu gewährleisten. Beim Booten des Systems funktioniert das Laufwerk zu 100% wie vorgesehen, mit der Ausnahme des Durchsatzes: Anstatt die SuperSpeed ​​4,8-Gbit / s-Konnektivität zu verwenden, scheint es auf einen USB 2.0-Durchsatz mit 480 Mbit / s zurückzugreifen. Das Festplatten-Dienstprogramm zeigt es als 480-Mbit / s-Gerät an, und das Ausführen einiger Festplatten-Dienstprogramme und dd-Benchmarks bestätigt, dass das Laufwerk nicht mehr als ~ 40 MB / s (die ungefähre Grenze von USB 2.0) überschreitet, obwohl es eine SSD ist, die weit mehr als kann Das.

Wenn ich meine USB 3.0-Festplatte anschließe, dmesgwird Folgendes angezeigt :

[ 3923.280018] usb 3-2: new high speed USB device using ehci_hcd and address 6

wo ich das erwarten würde:

[ 3923.280018] usb 3-2: new SuperSpeed USB device using xhci_hcd and address 6

Mein System lief zu dieser Zeit auf Kernel 2.6.35-25-generic. Dann bin ich auf diesen Forenthread von einer Person gestoßen, die herausgefunden hat, dass ein Fehler, der in Kerneln vor 2.6.37-rc5 vorhanden war, der Schuldige für diese Art von Problem sein könnte. Folglich habe ich den 2.6.37-generischen Ubuntu-Kernel installiert, um festzustellen, ob das Problem behoben ist. Das hat nicht geklappt, also habe ich 2.6.38-rc3-generic und sogar 2.6.38 nightly vom 01.02.2010 ohne Erfolg ausprobiert.

Kurz gesagt, ich versuche herauszufinden, warum mein USB 3.0-Laufwerk mit USB 3.0-Unterstützung im Kernel nicht mit vollem SuperSpeed-Durchsatz ausgeführt werden kann.

Weitere Details finden Sie in den Kommentaren unter dieser Frage.


Ausgabe, die für das Problem relevant sein könnte (beim Booten von 2.6.38-rc3):

Relevante Zeilen von dmesg:

[   19.589491] xhci_hcd 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   19.589512] xhci_hcd 0000:03:00.0: setting latency timer to 64
[   19.589516] xhci_hcd 0000:03:00.0: xHCI Host Controller
[   19.589623] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 12
[   19.650492] xhci_hcd 0000:03:00.0: irq 17, io mem 0xf8100000
[   19.650556] xhci_hcd 0000:03:00.0: irq 47 for MSI/MSI-X
[   19.650560] xhci_hcd 0000:03:00.0: irq 48 for MSI/MSI-X
[   19.650563] xhci_hcd 0000:03:00.0: irq 49 for MSI/MSI-X
[   19.653946] xHCI xhci_add_endpoint called for root hub
[   19.653948] xHCI xhci_check_bandwidth called for root hub

Relevanter Abschnitt von sudo lspci -v:

03:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03) (prog-if 30)
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at f8100000 (64-bit, non-prefetchable) [size=8K]
    Capabilities: [50] Power Management version 3
    Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
    Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number ff-ff-ff-ff-ff-ff-ff-ff
    Capabilities: [150] #18
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci-hcd

Relevanter Abschnitt von sudo lsusb -v:

Bus 012 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.38-020638rc3-generic xhci_hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:03:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x0009
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

Voll, nicht ausführlich lsusb:

Bus 012 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 003: ID 04d9:0702 Holtek Semiconductor, Inc. 
Bus 009 Device 002: ID 046d:c068 Logitech, Inc. G500 Laser Mouse
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 006: ID 174c:5106 ASMedia Technology Inc. 
Bus 003 Device 004: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 003 Device 002: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 006: ID 1687:0163 Kingmax Digital Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 046d:081b Logitech, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Volle Leistung:

jgottula
quelle
1
Könnten wir lsusbbitte auch eine einfache (non-verbose) haben? Sie haben viel Wert auf den Controller und den Kernel gelegt, die beide von anderen erfolgreich verwendet werden. Ich vermute, dass das Laufwerk einen Fehler aufweist.
Oli
@Oli: Okay, ich habe diese Ausgabe zur Frage hinzugefügt.
Jgottula
Und da Sie erwähnt haben, dass es sich um das Laufwerk handeln könnte, kann es relevant sein, zu beachten, dass ich den Rosewill USB3-zu-SATA-Adapter (RAD-SATA-USB3) mit einem Kingston SSDNow V-Laufwerk (SNV125-S2 / 30GB) verwende.
Jgottula
1
Vielen Dank. (Mehr für andere Leute - und tut mir leid, wenn Sie dies bereits gesagt haben) Das Laufwerkgehäuse verwendet den ASMedia ASM1051-Chipsatz.
Oli
Sollte sich dieses Detail als nützlich erweisen, handelt es sich bei der USB 3.0 PCIe-Karte um die AZiO AUDU3, die wiederum den beliebten NEC-Controller verwendet.
Jgottula

Antworten:

5

Sind Sie sicher, dass die Festplatte an den richtigen (USB 3.0) Anschluss angeschlossen ist? Es sieht so aus, als würde Ihr USB 3.0-Controller den USB-Bus Nr. 12 bereitstellen, die Festplatte ist jedoch an den USB-Bus Nr. 3 angeschlossen.

Laut Ihrem dmesg wird USB-Bus Nr. 3 vom PCI-Gerät '06: 01.2: USB-Controller: VIA Technologies, Inc. USB 2.0 (Rev. 65) 'bereitgestellt, bei dem es sich nur um USB 2.0 handelt.

Jeremy Kerr
quelle
4
Zu meiner großen Verlegenheit hast du absolut Recht! Ich habe zwei USB-Karten von meinem Motherboard und da ich herumgreifen musste, um mein USB 3.0-Kabel anzuschließen, muss ich sie unter Linux in die falsche Richtung geschoben haben, und (entscheidend) den RECHTEN Port unter Windows! Wenn Sie diesmal unbedingt sicherstellen, dass ich das Kabel an einen blauen Port angeschlossen habe (unter Linux), wird der Durchsatz von 120 MB / s erreicht. Vielen Dank, Sir, dass Sie auf meinen peinlichen Fehler hingewiesen haben!
Jgottula
woot! Ich bin froh, dass Sie es sortiert haben :)
Jeremy Kerr
2
Mann ... Ich habe diese Frage favorisiert, nur um später herauszufinden, dass es ein PEBCAK war! : P urbandictionary.com/define.php?term=pebcak
Trottel
1
PICNIC ist der beliebteste Begriff für PEBCAK, da es einfacher auszusprechen ist und mehr Wortspielraum bietet. PICNIC = Problem auf Stuhl, nicht auf Computer.
Kat Amsterdam