ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

usbreset

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

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.

Installation

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

Befehl zum Installieren der Pakete:

sudo apt-get install build-essential  

Oder mit apturl installieren, Link: apt://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.

Hinweis!

Fremdsoftware kann das System gefährden.

Benutzung

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).

Alternativen

In dem schon angesprochen Beitrag 🇬🇧 werden weitere Vorgehensweisen beschrieben, die auch ohne ein "neues" Programm auskommen, die Version mit usbreset ist aber in der Anwendung komfortabler.

Diese Revision wurde am 2. Juni 2018 09:53 von Taomon erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, USB, System