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

Reply via email to