W&T verbindet
Interfaces für TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA, Glas- und Kunststoff-LWL, http, SNMP, OPC, Modbus TCP, I/O digital, I/O analog, ISA, PCI
Applikation zum USB-Server

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

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.

Thumbnail Video-Tutorial

Sie aktivieren die Videofunktion über folgenden Button, mit dem Sie den Anbieter Google in Anspruch nehmen und (datenschutzrechtlich auf eigene Gefahr ;) diesem Daten übermitteln.

Youtube betreten

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.

Kontextmenü um ein Terminal zu öffnen
Auf Desktop-Umgebungen kann das Terminal üblicherweise aus dem Datei-Explorer über Rechtsklick -> Terminal hier öffnen gleich im richtigen Pfad 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.

Übersicht der Einstellungen
Übersicht der Einstellungen bevor die Installation durchgeführt wird

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
							
						
Liste der verbundenen Geräte
Ausgabe des status Befehls

Gerä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
							
						
Anzeige der USB-Geräte über lsusb
Die erfolgreiche Einbindung kann z.B. über das lsusb Kommando überprüft werden

Gerä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.

Anzeige des Kamerabildes
Anzeige der verbundenen USB-Kamera in der Cheese Applikation

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