Hallo, scheduled reboot ist vielleicht besser als nichts, aber nicht viel besser ;-) Das Problem ist ja, daß der Treiber unvorhersehbar abranzt. Ein (etwas) besserer Workaround ist es IMHO also, das Device neu zu starten, wenn der Treiber hängt. Dazu habe ich ein script, das das log überwacht und aus /etc/rc.local gestartet wird. Das script nach /etc/logtrigger.sh kopieren; chmod ug+x ausführen; in rc.local aufrufen: -------- root@wifi3:~# cat /etc/rc.local # Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. /etc/logtrigger.sh & exit 0 -------- evtl. chmod ug+x /etc/rc.local dann /etc/rc.local starten das sollte im log erscheinen: ----- Jan 26 10:48:31 wifi3 root: Starting logtrigger.sh. PID: 7554 ----- Um zu checken, wann und wie oft das getriggert wird, würde ich auch noch remote logging enablen, damit die logs den reboot überleben. Zum Testen, ob es geht: -nach dem Gerätestart (oder nach Start von /etc/rc.local): root@wifi3:~# logread |grep logtrigger Sat Jan 26 11:32:34 2019 user.notice root: Starting logtrigger.sh. PID: 716 -im Betrieb a) test message root@wifi3:~# logger Test1234 -> log Jan 26 11:39:16 wifi3 root: Test1234 Jan 26 11:39:16 wifi3 root: logtrigger.sh: Test message detected. logtrigger.sh PID: 1315. Logread PID 1320. b) termination notice root@wifi3:~# logger logtrigger terminate -> log Jan 26 11:40:31 wifi3 root: logtrigger terminate Jan 26 11:40:31 wifi3 root: logtrigger.sh: Exiting. (wieder starten durch Aufruf von /etc/rc.local) c) reboot auslösen root@wifi3:~# logger ieee80211 phy0: rt2x00 some Error root@wifi3:~# Connection to wifi3 closed by remote host. Connection to wifi3 closed. -> remote log Jan 26 11:32:38 wifi3 root: ieee80211 phy0: rt2x00 some Error Jan 26 11:32:38 wifi3 root: logtrigger.sh: rt2x00 bug detected, restarting device. Jan 26 11:32:38 wifi3 root: logtrigger.sh: message seen: rt2x00 some Error (Das script checkt nicht, ob es schon läuft, da müßt Ihr selbst drauf achten - und bug-frei ist es sicher auch nicht, ich kann eigentlich nur REXX ;-)) Viel Spaß! Hartmut ---------ab hier das script -- Zeilenumbrüche müßt Ihr leider ---------eventuell selber fixen! #!/bin/sh # script to perform action when a certain log message appears # used to cope with bugs in the rt2x000 driver on MT7620 chipsets # we need logread and logger to be available for this (no check here, though). me=`basename "$0"` lrpidfile='/tmp/logread.pid' logger "Starting $me. PID: $$" # read from log (requires logread to be installed) (logread -f & echo $! >&3 ) 3>$lrpidfile | while read line;do case "$line" in # message text to trigger action # you can be specific #*"ieee80211 phy0: rt2x00queue_write_tx_frame: Error - Dropping frame due to full tx queue 2"* ) # or you can be generic *"ieee80211 phy0: rt2x00"*"Error"* ) # action(s) to perform # on devices based on the latest 2019 Openwrt Snapshot, you can try to comment out the reboot action # and uncomment the lines with double comments to have the device restart the wifi instead # of rebooting (this may work or not, YMMV, watch the logs). # on older patch levels, the bug cannot be remediated by restarting the wifi only, you have to reboot. ## wifi down; # message to log (enable remote logging to see this even after a reboot) ## logger "$me: rt2x00 bug detected, restarting wifi."; logger "$me: rt2x00 bug detected, restarting device."; logger "$me: message seen:${line##*:}"; # have to cut part of message to stop triggering myself ## wifi up; reboot; ;; # test message (# logger Test1234 -- should show up in log) *"Test1234"* ) logger "$me: Test message detected. $me PID: $$. Logread PID $(cat $lrpidfile)." ;; # termination message (#logger logtrigger terminate -- should terminate this script) *"logtrigger terminate"* ) # we have to take care to remove the logread process before terminating logger "$me: Exiting.";kill $(cat $lrpidfile);rm -f $lrpidfile;exit ;; esac done _______________________________________________ Berlin mailing list Berlin@berlin.freifunk.net http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin Diese Mailingliste besitzt ein ffentlich einsehbares Archiv