Raspberry Pi: USB - Universal Serial Bus

Abhängig vom Modell weist der Raspberry Pi einen bis vier USB-Ports auf. Der USB ist eine universelle externe Schnittstelle für alle möglichen Peripheriegeräte, die am Raspberry Pi betrieben werden sollen. Typischerweise Tastatur, Maus, USB-Sticks, WLAN-Adapter und ähnliches.

USB 2.0 hat eine Übertragungsgeschwindigkeit von bis zu 480 MBit/s. Das sind umgerechnet 60 MByte/s. Wobei es sich eher um einen theoretischen Wert handelt. In der Regel erreicht man an einem USB-2.0-Port kaum mehr als 30 MByte/s. Und das auch nur bei der Übertragung großer Dateien oder einen lange andauernden Datenstrom. Aber nicht bei der Übertragung einer Vielzahl kleiner Dateien, wie es typisch ist.

Der USB am Raspberry Pi 2 / 3

Der USB am Raspberry Pi

Anzeige aller USB-Geräte in der Baustruktur:

lsusb -t

Die USB-Geräte melden sich am Bus mit dem angezeigten Namen an. Bei manchen Geräten ist die Bezeichnung nicht eindeutig. Unter Umständen kommt man durch den Herstellernamen oder die Produktbezeichnung auf die Funktion des Geräts.

Die Architektur des Raspberry Pi weist einen kleinen Schönheitsfehler auf, der dazu führt, dass er nicht für alle Anwendungen gleichermaßen geeignet ist. Insbesondere, wo es auf schnelle I/O-Verbindungen ankommt.
Der System-on-Chip des Raspberry Pi hat nur einen einzigen internen USB-Port. An diesem USB-Port hängen alle externen USB-Ports und der Ethernet-Port dran. Das heißt in der Konsequenz, dass sich die Netzwerk-Schnittstelle und alle externen Geräte, die per USB mit dem Raspberry Pi verbunden sind, sich die Gesamtbandbreite von 480 MBit/s teilen müssen. Damit ist die I/O-Leistung des Raspberry Pi auf maximal 60 MByte/s, in der Praxis auf ca. 30 MByte/s beschränkt. Auch dann, wenn die angeschlossenen Geräte schneller arbeiten können.

Diese Einschränkung muss man immer dann berücksichtigen, wenn der Raspberry Pi zwischen zwei Schnittstellen vermitteln soll. Beispielsweise als Router, Gateway oder Bridge. Das bedeutet, man nutzt auf der einen Seite den Ethernet-Port und auf der anderen Seite einen weiteren Ethernet- oder WLAN-Adapter an einem USB-Port. Dann muss der Datenverkehr zweimal durch den internen USB-Port. Einmal hinein und ein zweites Mal hinaus. Das bedeutet, man reduziert die I/O-Leistung des internen USB-Ports um die Hälfte. Unabhängig davon wie viele USB-Ports der Raspberry Pi tatsächlich hat.

Einschränkungen

  • Beim Kopieren von einem USB-Datenträger auf ein Laufwerk im Netzwerk, erreicht der Raspberry Pi 2 knapp 11 MByte pro Sekunde. Beim Vorgänger sind es nur knapp 4 MByte pro Sekunde.
  • Das Betriebssystem von einem USB-Stick zu booten ist eine gute Idee, weil die SD-Karte viel besser angebunden ist, als der USB.

Stromversorgung über den USB

An einem Raspberry Pi ist die Stromversorgung von USB-Geräten über die USB-Ports eine heikle Angelegenheit. Wenn Maus und Tastatur und vielleicht auch noch der eine oder andere USB-Stick angeschlossen ist, dann ist das kein Problem. Wenn man aber mit externen Festplatten oder stromhungrigen WLAN-Adaptern arbeitet, dann bricht die Stromversorgung des Raspberry Pi zusammen. Aus dem Grund wird generell empfohlen, dass USB-Geräte über einen aktiven USB-Hub angeschlossen werden. Ein aktiver USB-Hub verfügt über ein eigenes Netzteil, über das er die angeschlossenen Geräte mit Strom versorgen kann.

Ab dem Modell B+ wurde auch ein Parameter eingeführt, der steuert, wie viel Strom USB-Geräte am USB-Anschluss in Summe entnehmen dürfen. Mit diesem Parameter kann man die Strombegrenzung von 600 mA auf 1.200 mA anheben.

USB-Troubleshooting

Gelegentlich kommt es vor, dass USB-Geräte am Raspberry Pi nicht richtig funktionieren. Hierzu zählt Architektur-bedingt auch der Ethernet-Port des Raspberry Pi. Der hängt am einzigen internen USB-Port. In der Regel sind USB-Probleme dann meist auch Netzwerk-Probleme.

USB-Probleme haben aber nichts mit dem Raspberry Pi zu tun, sondern mit einer schlechten Stromversorgung. Die Ursache ist in der Regel immer ein minderwertiges Netzteil oder Ladegerät, dass nicht genug Strom liefert und in der Folge die Versorgungsspannung einbricht.
Bewegt sich die Versorgungsspannung unter eine bestimmte Grenze, versucht ein Raspberry Pi den Absturz durch Abschalten interner Komponenten zu verhindern. Dadurch verringert er den Stromverbrauch. Stimmen die Spannungswerte wieder nimmt er die Komponenten wieder in Betrieb.
Wenn der interne USB aufgrund schlechter Stromversorgung abgeschaltet wird, dann gehen dabei auch die Netzwerk-Verbindungen über Ethernet und/oder einen USB-WLAN-Adapter verloren. Wenn der USB wieder in Betrieb genommen wird, dann bleibt dabei aber oft die Netzwerk-Verbindung weg. In der Regel muss der Raspberry Pi neu gestartet werden. Bedarfsweise könnte man auch die Netzwerk-Verbindungen manuell reinitialisieren.

In der Regel löst man das USB-Problem so, dass man stromhungrige USB-Geräte über einen aktiven USB-Hub betreibt oder gegen energieschonendere Geräte austauscht. Besser ist es man besorgt sich ein Netzteil, dass seinen Namen verdient und über ausreichend Power verfügt, bei kurzzeitig erhöhter Stromentnahme eine stabile Spannungsversorgung zu gewährleisten.

Raspberry Pi: Timeout für USB-Laufwerke verlängern

Raspbian gibt einem USB-Laufwerk standardmäßig nur 2 Sekunden Zeit gibt, um in Betrieb zu gehen. Dann muss das USB-Laufwerk verfügbar sein. Bei einem USB-Stick mag das funktionieren. Bei einer herkömmlichen Festplatte oder SSD sieht das anders aus. Hier ist es notwendig, dass man dem USB-Laufwerk mehr Zeit gibt.

USB-Sticks und -Festplatten mounten/einhängen

Weitere Informationen zum USB

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • sofort Loslegen mit All-in-one-Set

Mehr Informationen Elektronik-Set jetzt bestellen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!