2017-08-04 1 views
0

Ich habe eine Menge von USB-Modems an einen Server angeschlossen. Manchmal reagiert USB nicht auf Software wie gnokii o gammu (Ich muss IMEI lesen) und wir müssen das Gerät trennen und neu verbinden, und das Problem ist gelöst.Hard Reconect USB-Gerät von bash

Ich brauche eine Möglichkeit, dies von bash zu tun. Ich weiß, ist unmöglich Abschalten Energie zu deaktivieren. Irgendwelche Ideen?

Ich versuche, mit:

Beide Lösungen lösen Gerät und Atach wieder, aber das Problem, wenn ich Daten anfordern immer noch versagt.

Eine Lösung dieser Daten vorbei ist besser für mich :)

  • /dev/ttyUSB0
  • /dev/bus/usb/001/001
+1

Das hängt wahrscheinlich davon ab, wo das Problem liegt. Wenn das Problem auf der Host-Seite ist, löst der Disconnect-Connect-Zyklus tatsächlich den Treiber aus, und das ist es, was ihn zu worl zurückbringt. Sie können das mit 'modprobe' machen, wenn Sie den betroffenen Treiber kennen. Wenn sich das Problem auf der Geräteseite befindet, schaltet der Verbindungsabbauzyklus das Gerät aus und hoch. Dies kann erreicht werden, indem man zum Gerät innerhalb von '/ sys/devices/pci0000: 00 /' gelangt und das Gerät findet (eventuell mit 'dmesg') und dann seine' power/level' Datei benutzt, um es an- und auszuschalten '. – ZeekHuge

Antwort

0

Sie können Macht entfernen müssen von Ihrem USB-Gerät, um es richtig zurückgesetzt werden. Obwohl der USB-Standard erwartet, dass Hubs per Software von der Ferne mit Strom versorgt werden, implementieren nur sehr wenige Hubs diese Funktion (wodurch ein zusätzlicher Transister pro Port eingespart wird). Sie sollten versuchen, nach USB-Hubs mit PPPS zu suchen, was bedeutet per-Port-Leistungsumschaltung.

Diese uhubctl Software für Linux und MacOSX kann einen solchen Hub steuern, und die Seite listet einige kompatible Hubs auf. Zum Beispiel, this Support-Antwort im Dezember 2016 von Plugable Technologies Listen zwei kostengünstige Hubs, die sie machen, die Sie finden können, zum Beispiel auf Amazon.