Zum Hauptinhalt Zur Navigation

USB Gadget: Raspberry Pi vereinfacht Netzwerkverbindung per USB

Nur über ein USB -Kabel auf dem Raspberry Pi arbeiten? Möglich ist das seit Jahren, die Macher haben die Nutzung aber deutlich vereinfacht.
/ Johannes Hiltscher
13 Kommentare News folgen (öffnet im neuen Fenster)
Ein Raspberry Pi 4 ist per USB an einen Laptop angeschlossen. (Bild: Johannes Hiltscher/Golem.de)
Ein Raspberry Pi 4 ist per USB an einen Laptop angeschlossen. Bild: Johannes Hiltscher/Golem.de

Insbesondere unterwegs ist es teils nicht einfach, per SSH auf einem Raspberry Pi zu arbeiten. Praktisch wäre es, einfach per USB auf den Single Board Computer (SBC) zugreifen zu können.

Dank USB OTG (On the go) und Linux USB Gadget API(öffnet im neuen Fenster) funktioniert das, indem sich der Raspberry Pi als Netzwerkkarte ausgibt. Einige Bastler nutzen das seit Jahren, wie etwa ein Blogbeitrag von 2017(öffnet im neuen Fenster) zeigt.

Besonders einsteigerfreundlich war das allerdings bislang nicht, wie Raspberry-Pi-Entwickler Paul Oberosler schreibt(öffnet im neuen Fenster) . Er integrierte daher die gesamte Funktionalität in ein Debian-Paket, das seit Oktober 2025 Teil des Trixie-basierten Raspberry Pi OS ist. Das Raspberry Pi USB Gadget muss dabei lediglich installiert und aktiviert werden, um alles Weitere kümmert es sich automatisch.

Abhängig vom Host wird der korrekte Modus ausgewählt, ein Demon erkennt, ob der Host-Rechner seine Internetverbindung teilt (Internet Connection Sharing, ICS). In diesem Fall bezieht der Pi als Client eine IP-Adresse per DHCP vom Host. Ohne ICS hingegen startet der Network Manager auf dem Pi einen DHCP-Server, welcher der Host-Schnittstelle eine Adresse zuweist.

Installation in wenigen Sekunden

Auf bestehenden Installationen muss das Paket rpi-usb-gadget installiert werden. Anschließend wird das Gadget in der Konsole per sudo rpi-usb-gadget on aktiviert. Windows-Nutzer müssen noch einen Treiber(öffnet im neuen Fenster) installieren, Linux und MacOS bringen den bereits mit.

Auf dem Host erscheint ein neuer Netzwerkadapter, nachdem der Pi fertig gebootet hat. Ohne ICS bekommt dieser Adapter eine Adresse im Bereich 10.12.194.2 – 10.12.194.14 zugewiesen. Der Pi ist über 10.12.194.1 erreichbar, etwa per SSH. Die Verbindung per USB-Gadget kommt dabei nicht nur ohne externe Infrastruktur aus, die Latenz war bei einem kurzen Versuch auch spürbar geringer als über WLAN.

Die Netzwerkverbindung per USB funktioniert bei allen SBCs, die einen OTG-fähigen USB-Port herausführen. Das ist bei allen Zero-Modellen, beim Raspberry Pi 3 A+ sowie den neueren Versionen 4 und 5 der Fall.

Bei Letzteren wird dafür die USB-C-Schnittstelle genutzt, über die auch die Spannungsversorgung erfolgt. Bei den Zero-Modellen hingegen ist es die Mini-USB-Buchse, die nicht der Spannugsversorgung dient, und beim 3 A+ wird es ganz wild: Hier muss bei einem Kabel mit zwei USB-A-Steckern das meist rote Kabel für die Spannungsversorgung durchtrennt werden.

Bei Raspberry Pi 4 und 5 kann es passieren, dass der Host nicht ausreichend Leistung bereitstellt. Hier wird ein USB-Hub mit eigener Spannungsversorgung empfohlen, obwohl die Macher gleichzeitig eine direkte USB-Verbindung zum Host empfehlen.


Relevante Themen