USB 3.0 geht unter Linux auch schnell

Ich hätte wirklich nicht gedacht, dass so viele Leute Probleme damit haben, die USB-3.0-Ports an ihrem Linux-Rechner mit der zu erwarteten Geschwindigkeit zu betreiben. Bei manchen gehen sie gleich gar nicht. Hinweise gibt es viele. Aber Lösungen sind rar. Die Distribution spielt dabei anscheinend keine Rolle. Es trifft alle. Mich auch. Bis ich heute den Heiligen Gral fand.

Ums Verrecken war mein Asrock-Board Z170 Pro4S nicht dazu zu bringen, USB 3.0 anständig anzusteuern. Der Import von ein paar Fotos im RAW-Format von einer CF-Karte aus meiner 5D MKII sollte um die neun Minuten dauern – völlig inakzeptabel. Da wurde der Rapid Photo Downloader zur Schnecke. Das war nicht mal der Speed von USB 2.0.

Ich war aber nach einigen Stunden Recherche und unzähligen Tests schon kurz davor aufzugeben und dachte über ein neues Board nach. Dann unternahm ich einen letzten Versuch mit einer anderen Konfiguration der Kernel-Parameter. Und griff zu einem Uralt-Trick aus grauer PC-Vorzeit.

Hier das Vorgehen.

  • Im BIOS die USB-Unterstützung für Altgeräte (Legacy-Mode) deaktivieren oder nur für das UEFI-Setup erlauben – das variiert von Hersteller zu Hersteller.1)Das hat evtl. unerwünschte Nebenwirkungen. Tastatur beim Systemstart nicht verfügbar, zum Beispiel. Ist bei meinem billigen Asrock so…
  • XHCI-Handshake aktivieren.
  • Nun im Linux die Boot-Parameter von Grub verändern. Unter Arch/Manjaro stehen die in der Datei /etc/default/grub. Darin findet sich die Zeile
    GRUB_CMDLINE_LINUX_DEFAULT="quiet".
    Die ändern wir mit dem Editor unserer Wahl als root so ab: GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt quiet".
    Wer ein AMD-Board hat, ersetzte das intel_iommu durch amd-iommu.2)Damit wird die „Input-Output Memory Management Unit“ manipuliert. In den meisten Tipps wird geraten, es mit iommu=soft zu versuchen. Hier brachte das gar nix.

Das war es fast. Nun noch im Terminal mit einem beherzten sudo update-grub die Änderungen in Kraft setzen. Wer diesen Wrapper nicht hat, kann ihn sich im AUR besorgen oder das auch mit einem sudo grub-mkconfig -o /boot/grub/grub.cfg anstoßen. Macht dasselbe.

Fast am Ziel.

Eigentlich sollte es das gewesen sein. Ich bin aber überzeugt, dass letztlich eine andere Maßnahme den Erfolg gebracht hat. Und zwar…

Aus Linux abmelden. Vorsichtshalber. Dann die Einschalttaste für volle 60 Sekunden gedrückt halten. Das ist so eine Art CMOS-Reset für Arme. Dann neustarten. Und hoffentlich freuen. ;)


-- "USB 3.0 geht unter Linux auch schnell" als PDF herunterladen oder drucken --


Anmerkungen   [ + ]

1. Das hat evtl. unerwünschte Nebenwirkungen. Tastatur beim Systemstart nicht verfügbar, zum Beispiel. Ist bei meinem billigen Asrock so…
2. Damit wird die „Input-Output Memory Management Unit“ manipuliert. In den meisten Tipps wird geraten, es mit iommu=soft zu versuchen. Hier brachte das gar nix.

Schreibe einen Kommentar