Ubuntu 16.04 Xenial Xerus
USB/IP ist eine Softwarelösung um USB-Geräte wie Mäuse, USB-Sticks usw. auf einen anderen System über das Netzwerk verfügbar zu machen, so das es wie ein lokales USB-Gerät genutzt werden kann.
USBIP ist ab Kernel 3.17 in folgendem Paket enthalten[1]:
linux-tools-generic
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-tools-generic
sudo aptitude install linux-tools-generic
Es sollte auf keinen Fall das separate Paket usbip installiert werden! Dieses Paket ist bei allen Ubuntu-Versionen völlig veraltet und bereitet im späteren Verlauf Probleme.
Nach der Installation muss man als erstes das für "usbip" wichtige Kernelmodul laden[3][4].
sudo modprobe usbip-host
Um das Modul permanent zu laden, muss man /etc/modules editieren und usbip-host hinzufügen[4][5].
Als nächstes muss ein Link von usbutils nach hwdata angelegt werden, damit die USB-Geräte richtig angezeigt werden.
sudo mkdir /usr/share/hwdata/ sudo ln -sf /var/lib/usbutils/usb.ids /usr/share/hwdata/
Nun kann ein "usbip" Server gestartet werden, was natürlich nach jedem Neustart wiederholt werden muss, wenn man dies nicht in den Autostart einfügt.
sudo usbipd -d
Nun kann mit der eigentlichen Konfiguration der USB-Geräte begonnen werden. Hierfür sollte man sich erst einmal einen Überblick über alle USB-Geräte verschaffen, dabei sollte man auf die Bus-ID achten.
lsusb
Mit der ID oder dem Namen kann man nun in der Liste von "usbip" nach der richtigen Bus-ID (Zahl-Zahl
; z.B. 1-2
; nicht USB-ID!) suchen.
usbip list -l
Nachdem man nun im nächsten Befehl die Bus-ID eingesetzt hat, ist der Server fertig.
sudo usbip bind -b "Bus-ID"
Auch hier muss zuerst das benötigte Kernelmodul geladen werden.
sudo modprobe vhci-hcd
Um das Modul permanent zu laden, muss man /etc/modules editieren und vhci-hcd hinzufügen.
Nun kann man sich mit diesem Kommando einen Überblick über die Freigabe der USB-Geräte eines Servers verschaffen.
usbip list -r "Serveraddresse"
Zum Schluss muss man nur noch das nächste Kommando mit der richtigen Bus-ID und der Serveradresse ausgeführt werden und alles sollte dann funktionieren.
sudo usbip attach -r "Serveraddresse" -b "Bus-ID"
Befehl | Funktion | ||||
Serverbefehle | |||||
usbip list -l | Hiermit können alle lokalen USB-Geräte angezeigt werden, welche freigegeben werden können. | ||||
usbip bind -b "Bus-ID" | Hiermit kann ein USB-Gerät mit der zugeordneten Bus-ID zu den freigegebenen USB-Geräten hinzugefügt werden. | ||||
usbip unbind -b "Bus-ID" | Hiermit kann die Freigabe eines USB-Gerätes rückgängig gemacht werden. | ||||
Clientbefehle | |||||
usbip attach -r "Serveraddresse" -b "Bus-ID" | Hiermit kann ein freigegebenes USB-Gerät ins Client-System eingehängt werden. Dies muss zwingend mit Root-Rechten erfolgen! | ||||
usbip detach -b "Bus-ID" | Hiermit kann ein USB-Gerät wieder ausgehängt werden. | ||||
usbip list -r "Serveradresse" | Hiermit können alle freigegebenen USB-Geräte eines Servers angezeigt werden. | ||||
usbip port | Hiermit kann man sich alle eingehängten USB-Geräte anzeigen lassen. |
Diese Revision wurde am 27. August 2016 13:23 von aasche erstellt.