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 <[email 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
--
Discuss mailing list
[email protected]
https://lists.funkfeuer.at/mailman/listinfo/discuss