USB Umlenkung für Linux
Setup und Einrichtung eines systemd-Services
In diesem Tutorial wird die USB-Umlenkung für Linux installiert und gezeigt, wie ein USB-Gerät eingebunden werden kann.
Hier wird von einem frisch installierten Ubuntu 20.04 LTS System ausgegangen. Der Vorgang für Setup und Einrichtung lässt sich aber auf andere Distributionen übertragen. Voraussetzung ist lediglich, dass folgende Mindestanforderungen für die USB-Umlenkung erfüllt sind:
- aktueller Linux-Kernel (>= 4.4.0)
- Unterstützung für das VHCI Kernelmodul
- modprobe Tool
Aufbau der USB-Umlenkung
Die USB-Umlenkung für Linux stellt das Bindeglied zwischen dem USB-Server und der Kernel-Landschaft dar.
Über das quelloffene und gängige VHCI-Kernelmodul werden auf dem Linuxsystem virtuelle USB-Geräte angelegt. Die eigentliche Kommunikation wird durch die USB-Umlenkung dann transparent über TCP/IP an den USB-Server und das eigentliche USB-Gerät weitergereicht.
Die USB-Umlenkung teilt sich in zwei getrennte Module auf.
Die Umlenkung wird im Daemon-Modus als Hintergrunddienst betrieben. Der Daemon kommuniziert mit dem Kernel und muss daher mit erhöhten Rechten ausgeführt werden.
Als Gegenstück zum Hintergrunddienst kann die USB-Umlenkung im Applikationsmodus aufgerufen werden. Hierdurch wird der Hintergrunddienst dann angewiesen, USB-Geräte einzubinden oder freizugeben.

Sie aktivieren die Videofunktion über folgenden Button, mit dem Sie den Anbieter Google in Anspruch nehmen und (datenschutzrechtlich auf eigene Gefahr ;) diesem Daten übermitteln.
Vorbereitung: USB-Umlenkung herunterladen
Die jeweils aktuelle Version der USB-Umlenkung kann unter der Adresse
https://www.wut.de/linux-usb-umlenkung
heruntergeladen werden. Das heruntergeladene TAR-Archiv kann danach einfach entpackt werden. Auf gängigen Desktop-Umgebungen ist das über den Datei-Explorer im Kontextmenü der Datei möglich.
Wenn auf dem Zielsystem keine Desktop-Umgebung zur Verfügung steht kann die Umlenkung z.B. auch über folgende Kommandozeile heruntergeladen und entpackt werden:
wget -O redirector.tar.gz https://www.wut.de/linux-usb-umlenkung
tar -xzf ./redirector.tar.gz
Nach dem Entpacken sind im neu erstellten Ordner usb-redirector_v3.xx die benötigten Dateien zur Installation bereit.
Installieren
Für den folgenden Schritt muss ein Terminal im Ordner mit den Installationsdateien für die Umlenkung geöffnet werden.

Die Installation der USB-Umlenkung kann über das mitgelieferte Script install.sh automatisiert durchgeführt werden. Während der geführten Installation werden automatisch die Systemvoraussetzungen überprüft.
Auf systemd basierten Systemen kann das Installationsskript auch einen entsprechenden Service hinzufügen, um den Hintergrunddienst automatisch zu starten.
Geführte Installation
Der Installationsvorgang lässt sich mit erhöhten Rechten über folgende Kommandozeile starten:
sudo ./install.sh
Folgen Sie anschließend den Insallationsanweisungen. Während der Installation werden einige Rückfragen bezüglich Namensgebung und Installationsort gestellt. Falls keine anderweitigen Gründe bestehen können hier durch Betätigen der Enter-Taste jeweils die Standardeinstellungen (in Klammern angezeigt) übernommen werden.
Bevor die Änderungen tatsächlich durchgeführt werden, muss abschließend noch einmal mit Eingabe von y final bestätigt werden.

Die Dateien werden automatisch an die entsprechenden Stellen kopiert. Der heruntergeladene Ordner mit den Installationsdateien kann danach wieder gelöscht werden.
Manuelle Installation
Die USB-Umlenkung kann auch ohne das oben angeführte Installationsskript installiert werden. Wählen Sie dazu zunächst entsprechend Ihrem Linux-System die korrekte Version aus:
- usb-redirector.i686 für 32-bit Betriebssysteme
- usb-redirector.x86_64 für 64-bit Betriebssysteme
Die Datei kann dann an die gewünschte Stelle im Dateisystem kopiert werden. Um den Hintergrunddienst zu starten, kann entweder von Hand oder über ein vorhandenes Init-System die jeweilige Datei mit root-Rechten und dem daemon Parameter gestartet werden:
sudo usb-redirector daemon
Geräte einbinden
Status der Umlenkung prüfen
Über das folgende Kommando kann zunächst geprüft werden, ob der Hintergrunddienst korrekt gestartet wurde. Im Erfolgsfall sollte im Terminal eine (leere) Tabelle der aktuell verbundenen Geräte angezeigt werden.
usb-redirector status

status
BefehlsGeräte auflisten
Ist die USB-Umlenkung korrekt initialisiert können über das list
Kommando die an den USB-Server angeschlossenen Geräte abgefragt werden
usb-redirector list 10.40.28.165
Mit der entsprechenden Port-Angabe kann das Gerät über den plug
Befehl danach lokal angebunden werden:
usb-redirector plug 10.40.28.165 2

lsusb
Kommando überprüft werdenGeräte nutzen
Nach dem Einbinden wird das virtuelle USB-Gerät auf dem Host so angelegt, wie es auch bei einem lokal angeschlossenen USB-Gerät der Fall wäre.
Dadurch ist es möglich, Anwendungssoftware wie gewohnt zu benutzen. Im oben gezeigten Beispiel kann das Bild der USB-Webcam z.B. über das in Ubuntu mitgelieferte Programm "Cheese" angezeigt werden.

Dieses Tutorial mit Hardware ausprobieren
Sie möchten dieses Tutorial ausprobieren, Ihnen fehlt aber die notwendige Hardware? Gerne stellen wir Ihnen einen USB-Server als Muster zur Verfügung.
Offene Fragen zur Linux-Umlenkung?
Herr Knabe hilft Ihnen gerne weiter.
Telefon: 0202/2680-110 (Mo-Fr. 8-17 Uhr)
E-Mail: p.knabe@wut.de