it-swarm.com.de

Wie kann ich ein logisch getrenntes USB-Gerät wieder anschließen?

Es ist möglich, dass ein USB-Speichergerät logisch getrennt wird: Das Gerät ist weiterhin angeschlossen, aber für das Betriebssystem nicht sichtbar (z. B. nicht unter /proc/bus/usb Aufgeführt). Möglicherweise kann dies auch bei anderen Arten von USB-Geräten oder anderen Wechseldatenträgern der Fall sein. Dies kann zum Beispiel passieren:

  • nachdem Nautilus ein USB-Speichergerät abgemeldet hat ;
  • nachdem VirtualBox ein USB-Speichergerät beansprucht hat (das Gerät verschwindet vom Linux-Host, wenn es an den Gast angeschlossen ist, und wird nicht automatisch wieder angezeigt, wenn es vom Gast getrennt wird).

Was ist im Treiber oder in der Hardware los und vor allem (wie) kann das Gerät logisch wieder verbunden werden (ohne es physisch ein- und wieder anzuschließen)?

Beachten Sie, dass es bei dieser Frage nicht um das Mounten geht. Im Status "logisch getrennt" glaubt der Kernel, dass sich nichts auf dem USB-Bus befindet (und daher gibt es natürlich keinen Eintrag unter /dev).

Es ist manchmal möglich, einen Stromzyklus an einem Zweig des USB-Busses durchzuführen, an dem das Gerät angeschlossen ist:

# echo suspend > /sys/bus/usb/devices/1-1/power/level
# echo auto > /sys/bus/usb/devices/1-1/power/level

Das 1-1 sollte an Ihre Konfiguration angepasst werden. Sie können sehen, an welchen Teil des USB-Baums Ihr Gerät angeschlossen ist, indem Sie lsusb -t vor dem Auswerfen.

Detaillierte Informationen finden Sie beispielsweise in der Linux-USB-Mailingliste dieser Thread .

21
jon_d
udevadm info -a -n /dev/sdb

Suchen Sie nun nach dem Kernel. Z.B. Wenn es an Port 2 der Front-UIP angeschlossen ist, ist es 1-1,2, und wenn es an Port 1 der Front-UIP angeschlossen ist, ist es 1-1,1.

Für Port 2: So trennen Sie USB:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/unbind

So schließen Sie USB an:

echo '1-1.2' | tee /sys/bus/usb/drivers/usb/bind
8
Udaya

Setzen Sie das Gerät oder den Hub, an den es angeschlossen ist, zurück, und das Gerät sollte wieder angezeigt werden. Hier ist ein kleines Programm, um das zu tun:

http://marc.info/?l=linux-usb-users&m=116827193506484

Es funktioniert für die meisten USB-Laufwerke, die ich ausprobiert habe, aber es gibt Ausnahmen, wie z. B. mein Kingston DT 101 II 4 GB, bei dem die Befehle INQUIRY und READ CAPACITY nach dem Zurücksetzen fehlschlagen und bis zum Aus- und Wiedereinschalten unbrauchbar bleiben.

Sie können das Gerät aus- und wieder einschalten, ohne den Netzstecker zu ziehen, wenn es über den Anschluss mit Strom versorgt wird, und Ihr USB-Hub unterstützt die Steuerung der Stromversorgung pro Port. Hier ist ein kleines Programm zur Steuerung der Leistung:

http://marc.info/?l=linux-usb-devel&m=113724451205634

Leider unterstützen fast keine USB-Hubs diese Funktion, und es ist sehr schwierig, einen zu finden, der sie unterstützt. Hersteller machen keine Werbung dafür. Viele Hubs lügen auch darüber, zum Beispiel, wenn Sie "lsusb -v" machen, können Sie "Per-Port Power Switching" sehen, das in "wHubCharacteristic" angekündigt ist, aber in Wirklichkeit funktioniert es nicht. Der Chipsatz unterstützt dies möglicherweise, aber es war für den Hersteller einfacher/billiger, die Port-Power-Pins direkt an das Netzteil anzuschließen, anstatt den Chipsatz zu durchlaufen.

6
user6223

Ich fand diese Antwort , um auf meinem Gentoo-System großartig zu funktionieren. Denken Sie auch daran, Ihr Gerät wieder zu aktivieren, wenn es ein wichtiger Bestandteil Ihres Systems ist (z. B. Maus oder Tastatur).

Sudo sh -c 'AUTHFILE="/sys/bus/usb/devices/5-2/authorized" ; echo 0 > "$AUTHFILE" ; sleep 1 ; echo 1 > "$AUTHFILE"'

So sehen Sie, was Sie deaktivieren/wieder aktivieren:

cat /sys/bus/usb/devices/5-2/product
5
Avio

Ich habe die meisten der oben genannten Vorschläge ausprobiert, aber sie haben bei mir nicht funktioniert. Ich habe über die Befehlszeile herausgefunden, wie ein USB-Gerät zurückgesetzt werden kann: https://askubuntu.com/a/290519

echo $i >/sys/bus/pci/drivers/ehci_hcd/bind

wobei $i Sie die entsprechende Geräte-ID von /sys/bus/pci/drivers/ehci_hcd verwenden können.

4
Kakanakov

Im Folgenden wird das USB-Gerät getrennt.

Sudo eject /dev/sde

Im Folgenden wird das USB-Gerät wieder angeschlossen.

Sudo eject -t /dev/sde

Das obige funktioniert auf meiner Linux Mint.
Referenz: http://www.upubuntu.com/2011/09/how-to-remount-usb-stick-without.html

1
Matthew Wai