Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
usbreset ist ein kleines Programm, mit dem man USB-Anschlüsse über die Kommandozeile oder aus Skripten heraus trennen und wieder anschließen kann, ohne dazu tatsächlich das Gerät abstöpseln und wieder anschließen zu müssen. Das kann sinnvoll sein, wenn bestimmte Programme Schwierigkeiten haben, Geräte anzusprechen, weil sie angeblich "belegt" sind, oder zum Resetten von Anschlüssen nach Änderungen. Das Programm sollte theoretisch auf allen Ubuntu-Versionen laufen.
usbreset ist nicht in den Quellen vorhanden; es wurde 2008 von Alan Stern auf Nachfrage in einem Forum veröffentlicht. Zur Erstellung ist ggf. die Installation[1] des Paketes
build-essential
mit apturl
Paketliste zum Kopieren:
sudo apt-get install build-essential
sudo aptitude install build-essential
nötig.
Der Quellcode wird kopiert und in einem Editor[2] als usbreset.c gespeichert. Dann im Terminal[3] in das Download-Verzeichnis wechseln und mit
cc usbreset.c -o usbreset
das Programm erstellen. Die entstandenen Programmdatei usbreset z.B. nach /usr/local/bin (Root-Rechte[4] nötig!) verschieben, damit sie allen Benutzern zur Verfügung steht.
Fremdsoftware kann das System gefährden.
Das Programm wird auf der Kommandozeile mit dem Befehl
usbreset /dev/bus/usb/xxx/xxx
aufgerufen. Das gesuchte Geräte kann man sich per lsusb
ausgeben lassen (Beispielausgabe):
~$ lsusb Bus 002 Device 004: ID 04a9:221c Canon, Inc. CanoScan LiDE 60 Bus 002 Device 002: ID 07ab:fc9f Freecom Technologies Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Den CanoScan Lide 60
kann man also per
usbreset /dev/bus/usb/002/004
"resetten".
Bei Erfolg sieht die Ausgabe so aus:
Resetting USB device /dev/bus/usb/002/004 Reset successful
Auch in der dmesg
-Ausgabe erkennt man die Aktion an einer Zeile wie
[ 7777.425464] usb 2-5: reset high-speed USB device number 4 using ehci-pci
Bei fehlerhafter Device-Angabe spuckt das Programm
"Error opening output file"
aus.
Die Verwendung setzt, anders als in diesem Beitrag auf askubuntu suggeriert, keine Root-Rechte voraus, kann also auch aus Skripten heraus gut verwendet werden (siehe z.B. scanbuttond - Mehrfachbelegung von Tasten).
Diese Revision wurde am 12. September 2016 16:40 von Heinrich_Schwietering erstellt.