Technologieführer

USB/IP auf dem Client installieren und verwenden

4 min read Anleitung Aktualisiert 27 Sep 2025
USB/IP auf dem Client: Installation & Nutzung
USB/IP auf dem Client: Installation & Nutzung

TL;DR

Installieren Sie das Paket usbip, laden Sie das Kernelmodul vhci-hcd und verbinden Sie sich mit dem USB/IP-Server, um entfernte USB-Geräte lokal zu nutzen. Hängen Sie Geräte mit usbip -d ab oder binden Sie sie auf dem Server wieder an das lokale System.

Überblick

Dieses Dokument beschreibt Schritt für Schritt, wie ein OpenSUSE-Client so eingerichtet wird, dass er entfernte USB-Geräte über das USB/IP-Protokoll verwendet. Es enthält die Installation, das Laden des Kernelmoduls, das automatische Laden beim Boot, das Verbinden (attach) und Trennen (detach) sowie eine Fehlerbehebung und administrative Checklisten.

Wichtige Begriffe in einer Zeile

  • USB/IP: Überträgt USB-Kommunikation über ein TCP/IP-Netzwerk.
  • vhci-hcd: Virtueller Host-Controller auf dem Client, erzeugt virtuelle USB-Ports.

Voraussetzungen

  • Root- oder sudo-Rechte auf dem Client.
  • Netzwerkverbindung zum USB/IP-Server (IP im Beispiel: 192.168.0.100).
  • Auf dem Server muss usbipd laufen und das gewünschte Gerät freigegeben sein.

1. Paket installieren

Auf dem Client installieren Sie das usbip-Paket wie auf dem Server:

yast2 -i usbip

Auf OpenSUSE 11.2 erwartet usbip die Datei usb.ids in /usr/share/hwdata, sie befindet sich aber unter /usr/share/usbip/usb.ids. Erstellen Sie deshalb einen Symlink:

mkdir /usr/share/hwdata
ln -sf /usr/share/usbip/usb.ids /usr/share/hwdata/

Dieser Schritt sorgt dafür, dass usbip die Liste bekannter USB-Geräte finden kann.

2. Kernelmodul laden

Laden Sie das virtuelle Host-Controller-Modul:

modprobe vhci-hcd

Prüfen Sie, ob das Modul geladen wurde:

lsmod | grep vhci_hcd

Beispielausgabe:

client1:~ # lsmod | grep vhci_hcd
vhci_hcd               26576  0
usbip_common_mod       25232  1 vhci_hcd
client1:~ #

Wichtig: Wenn das Modul nicht auftaucht, prüfen Sie dmesg oder /var/log/messages auf Kernelmeldungen.

3. Modul beim Boot automatisch laden

Um vhci-hcd beim Systemstart automatisch zu laden, fügen Sie es der Variable MODULES_LOADED_ON_BOOT in /etc/sysconfig/kernel hinzu:

vi /etc/sysconfig/kernel

Fügen oder ändern Sie die Zeile wie folgt (als Codeblock dargestellt):

[...]
## Type:                string
## ServiceRestart:      boot.loadmodules
#
# This variable contains the list of modules to be loaded
# once the main filesystem is active
# You will find a few default modules for hardware which
# can not be detected automatically.
#
MODULES_LOADED_ON_BOOT="vhci-hcd"
[...]

Anschließend ausführen:

SuSEconfig

Hinweis: Die Anführungszeichen um vhci-hcd sind Teil der Konfigurationsdatei und müssen erhalten bleiben.

4. Verbindung zum USB/IP-Server herstellen und Gerät anhängen

Zuerst eine Liste verfügbarer Geräte vom Server abfragen (ersetzen Sie die IP durch die des Servers):

usbip -l 192.168.0.100

(192.168.0.100 ist die IP-Adresse des usbip-Servers.)

Beispielausgabe mit einem SanDisk-Flashlaufwerk (BUSID 2-5):

client1:~ # usbip -l 192.168.0.100
- 192.168.0.100
2-5: SanDisk Corp. : Cruzer Micro 256/512MB Flash Drive (0781:5151)
: /sys/devices/pci0000:00/0000:00:04.1/usb2/2-5
: (Defined at Interface level) (00/00/00)
:  0 - Mass Storage / SCSI / Bulk (Zip) (08/06/50)
  
client1:~ #

Um das Gerät an den Client anzuhängen, verwenden Sie die BUSID (z. B. 2-5):

usbip -a 192.168.0.100 2-5

Beispielausgabe:

client1:~ # usbip -a 192.168.0.100 2-5
8 ports available
  
port 0 attached
client1:~ #

Überprüfen Sie, ob das Gerät auf dem Client erschien:

lsusb

Beispiel:

client1:~ # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0781:5151 SanDisk Corp. Cruzer Micro Flash Drive
client1:~ #

Nach dem Anhängen können Sie das Gerät wie ein lokales USB-Gerät verwenden (mounten, formatieren, lesen, schreiben usw.).

5. Entfernen/Abtrennen eines entfernten USB-Geräts

Ermitteln Sie auf dem Client zunächst, welcher Port für das entfernte Gerät genutzt wird:

usbip --port

Beispielausgabe (Port 00 in Verwendung):

client1:~ # usbip --port
8 ports available
  
Port 00:  at High Speed(480Mbps)
SanDisk Corp. : Cruzer Micro 256/512MB Flash Drive (0781:5151)
1-1 -> usbip://192.168.0.100:3240/2-5  (remote devid 00020002 (bus/dev 002/002))
1-1:1.0 used by usb-storage
/sys/devices/platform/vhci_hcd/usb1/1-1/1-1:1.0/host4/scsi_host/host4/device
Port 01: 
Port 02: 
Port 03: 
Port 04: 
Port 05: 
Port 06: 
Port 07: 
client1:~ #

Anschließend Gerät vom Client trennen (hier Port 00):

usbip -d 00

Beispiel:

client1:~ # usbip -d 00
8 ports available

port 0 detached
client1:~ #

Auf dem Server können Sie das Gerät wieder an das lokale System binden, damit es nicht mehr über das Netzwerk angeboten wird. Verwenden Sie dazu den BUSID (z. B. 2-5):

bind_driver --other 2-5

Beispielserver-Ausgabe:

server1:~ # bind_driver --other 2-5
 (process:3484): DEBUG: write "del 2-5" to /sys/bus/usb/drivers/usbip/match_busid
 Message: bind 2-5 to other drivers than usbip, complete!
server1:~#

Zur Kontrolle führen Sie auf dem Client erneut lsusb aus; das entfernte Gerät sollte nicht mehr gelistet sein:

client1:~ # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
client1:~ #

Fehlerbehebung und häufige Probleme

  • Modul nicht geladen: Prüfen Sie dmesg und lsmod. Bei fehlendem Modul: Kernel-Version und Module-ABI prüfen.
  • Verbindung abbricht: Netzwerk (MTU, Firewalls, Paketverlust) überprüfen; USB/IP verwendet standardmäßig TCP/3240.
  • Zugriffsrechte: Stellen Sie sicher, dass auf dem Server usbipd mit ausreichenden Rechten läuft und das Gerät freigegeben ist.
  • Gerät erscheint, aber /dev/sdX fehlt: Warten Sie kurz auf das udev-Device, prüfen Sie dmesg auf SCSI/USB-Fehler.
  • Performance-Probleme: USB-over-IP hat Latenz; für hohe Durchsatzanforderungen prüfen Sie Netzwerkbandbreite und Latenz.

Wichtige Prüfbefehle:

  • lsmod | grep vhci_hcd
  • dmesg | tail -n 50
  • usbip -l
  • usbip –port

Wann USB/IP nicht die richtige Lösung ist

  • Echtzeit-Anforderungen oder hohe Latenz-Empfindlichkeit (Audio/Video in Echtzeit).
  • Wenn Sicherheitsrichtlinien kein transparentes Proxying von Peripherie erlauben.
  • Wenn PCIe- oder andere nicht-USB-Geräte benötigt werden.

Alternative Ansätze

  • NFS/SMB für Dateizugriff anstelle von Remote-USB-Massenspeichern.
  • Dedizierte Netzwerk-Attached-Storage (NAS) Geräte für zuverlässige Freigaben.
  • USB-over-Ethernet-Hardware-Adapter, wenn eine proprietäre Lösung erwünscht ist.

Checkliste für Administratoren (Schritt-für-Schritt)

  • Paket usbip installiert (yast2 -i usbip).
  • Symlink für usb.ids angelegt, falls erforderlich.
  • vhci-hcd mit modprobe geladen und mit lsmod geprüft.
  • MODULES_LOADED_ON_BOOT angepasst und SuSEconfig ausgeführt.
  • Server-IP und verfügbare BUSIDs ermittelt (usbip -l).
  • Gerät mit usbip -a angehängt, mit lsusb geprüft.
  • Gerät mit usbip -d oder bind_driver –other korrekt getrennt.

Kurze Betriebsempfehlungen

  • Verwenden Sie SSH/Tunnels oder VPNs, wenn Sie USB/IP-Verkehr über unsichere Netze senden.
  • Überwachen Sie Verbindungen mit Tools wie netstat/ss, falls Verbindungsprobleme auftreten.
  • Dokumentieren Sie BUSIDs und zugehörige Servergeräte, damit Sie schnell erneut binden/abbinden können.

Zusammenfassung

Mit usbip lässt sich entfernte USB-Hardware so nutzen, als wäre sie lokal angeschlossen. Wichtige Schritte sind die Installation des Pakets, das Laden und dauerhafte Aktivieren des vhci-hcd-Moduls und das sichere Verbinden sowie ordnungsgemäße Trennen der Geräte. Prüfen Sie Netzwerk, Logs und Berechtigungen bei Problemen.

Links

Autor
Redaktion

Ähnliche Materialien

Python-Fehler oxzep7 schnell beheben
Fehlerbehebung

Python-Fehler oxzep7 schnell beheben

Papierkorb auf Mac wiederherstellen
macOS

Papierkorb auf Mac wiederherstellen

Gefälschte Telefonnummern in KI‑Suchergebnissen vermeiden
Online-Sicherheit

Gefälschte Telefonnummern in KI‑Suchergebnissen vermeiden

iMessage auf Android nutzen – AirMessage Guide
Anleitungen

iMessage auf Android nutzen – AirMessage Guide

Windows Server 2019: Abgesicherten Modus starten
Systemadministration

Windows Server 2019: Abgesicherten Modus starten

Snapchat-Shortcuts: erstellen, bearbeiten, löschen
Social Media

Snapchat-Shortcuts: erstellen, bearbeiten, löschen