[Discuss] [OT]: USB-Powercycle? OpenWRT+LTE-Stick+Tunnel/Verbindungsabbrüche.
Erich N. Pekarek
(spam-protected)
So Dez 4 18:50:13 CET 2016
Hallo!
Ich habe ein kleines Update in der Sache und möchte es in der Hoffnung
posten, dass es vielleicht jemandem hier nützt:
Am 2016-11-15 um 02:25 schrieb Erich N. Pekarek:
> Hallo Matthias!
>
> Am 2016-11-14 um 21:06 schrieb Matthias Šubik:
>> Hallo Erich,
>>
>>> On 14 Nov 2016, at 18:11, Erich N. Pekarek <(spam-protected)> wrote:
>> ...
>>> Per Software ging das mittels echo 0 oder echo 1 nach
>>> /sys/bus/usb/devices/[xyz]/authorized, um zumindest eine teilweise
>>> Reinitialisierung der Treiber zu bewirken. Bis Kernel 3.6 konnte man
>>> auch den Power Level einzelner Port setzen. Neuere Kernel lassen das
>>> (direkt) offenbar nicht mehr zu. Man meines Wissens kann nur ein
>>> Inactivity Timeout setzen, aber nur der Strom wird nur abgeschaltet,
>>> wenn das Endgerät das auch zulässt.
>> Dieser Lösung habe ich mal sehr weit nachrecherchiert, wurde wohl
>> wegen mir nicht ganz erklärbarer Gründe aus dem Kernel entfernt.
>> (Leider totes Gleis).
> Schade eigentlich.
https://wiki.openwrt.org/doc/howto/usb.overview
Es scheint, dass bei einigen Routern bereits ein GPIO einzig dafür
genützt wird, um USB ein- und auszuschalten.
Der oben genannte Link nennt das Äquivalent für einige TP-Link-Modelle.
Es sind meist die GPIOs 6,8,21 oder 22.
Etwa kann man beim TL-WR842NDv1 mittels "echo 0 >
/sys/class/gpio/gpio6/value" und "echo 1 > /sys/class/gpio/gpio6/value"
einen USB-Powercycle bewirken.
Es gibt dabei aber -zumindest in der Konstellation, die ich getestet
habe, eine Einschränkung: Es funktioniert freilich nur, wenn das Gerät
direkt angeschlossen ist, oder der dazwischengeschaltete USB-Hub keine
aktive externe Stromversorgung hat.
Das ist leider in einigen Fällen unbefriedigend. Siehe auch übernächster
kommentierter Absatz.
>> Da Du GPIO nicht aus dem Router nehmen möchtest, warum nicht einen
>> USB-RS232 Adapter an Deinem USB Hub?
>> Der ist billig, und dessen Statusleitungen lassen sich per stty
>> setzen, und damit kannst Du einen Transistor in der 5V Zuleitung vom
>> Stick schalten.
> Zwar ist das nicht die fertige Lösung, die ich mir erhofft habe, sie
> gefällt mir aber sehr gut. Danke!
Daran habe ich bisher nicht weitergemacht. Aber im Zusammenspiel mit
obiger Information könnte man den (entsprechend groß dimensionierten)
Transitor über ein altes USB-Kabel mit derselben USB-Stammleitung als
Basis somit allein in die Versorgungsleitung des Hubs schalten, um damit
auch den Hub stromlos zu bekommen.
Ich frage mich an dieser Stelle jedoch, ob ein USB-Hub, der vom Host
keinen Strom mehr bekommt, aber nicht eigentlich auch Ports abschalten
müsste? Eventuell gibt es das in der Spezifikation? Wonach müsste ich
suchen? Informationen hierzu wären mir willkommen.
>> Ich hätte sonst ganz langweilig vorgeschlagen, den Stick auf
>> willhaben/e-bay zu veräußern, und gegen einen anderen zu tauschen.
> Kennst Du ein besseres Gerät in dieser Preisklasse? Genau genommen
> sind die auch nicht für diesen Zweck (7x24 remote) vorgesehen und das
> Problem, dass ein USB-Gerät "hängenbleibt" hatte ich auch schon mit
> einer über USB schaltbaren Steckdosenleiste.
Das "Hängenbleiben" des MF831 konnte ich so halbwegs reproduzieren: Nach
ein paar mal Hin- und Herschalten zwischen den Modi 19d2:1405 und
19d2:0016 (über die Zwischenstation 19d2:1225) wurde der Download-Mode
19d2:0076 aktiviert, aus dem man nach meinen bisherigen Kenntnissen nur
über einen Powercycle (also für gewöhnlich An- und Abstecken) wieder
herauskommt. (eventuell ist es gar ein Fastboot-Mode?).
Das genaue Zusammenspiel, das zu diesem Ergebnis führt, müsste ich
allerdings noch austesten. Womöglich reicht es ja schlicht, im
Watchdog-Skript etwas großzügiger mit "sleep" umzugehen.
> [...]
>>
>> bG
>> Matthias
>>
> Danke!
>
> LG
> Erich
>
LG
Erich
Mehr Informationen über die Mailingliste Discuss