Ich habe ein weiteres Problem bei meinen yaVDR 0.6.1 (stable) Usern gefunden und ich hoffe, jemand hier kennt eine Ursache/Fix:
Der Rechner läßt sich per FB nicht ausschalten. VDR wird zwar beendet, dann aber fährt das System nicht weiter runter. Soweit ich feststellen konnte, liegt die Ursache schon beim Aufwachen aus S3 daran, daß manchmal das /etc/pm/sleep.d/20vdr_sleep Script nicht beendet wird. Soweit ich es verstanden habe, wird in den Script mittels "initctl emit resume" im wesentlichen die dvb-Treiber (gibt es hier nicht) und VDR gestartet und das klappt scheinbar auch. Zumindest sehe ich im log "vdr.conf: vdr is ready" und auch sonst gibt es scheinbar keine Probleme bei der Nutzung (Bild, Ton, usw. ist ok). Doch nach dem Start von VDR geht es scheinbar nicht weiter bei initctl und 20vdr_sleep wird nie beendet, woraufhin dann später das Ausschalten des Systems mittels der pm-utils auch nicht klappt. Ich wüßte jetzt nicht, wo ich noch Log-Befehle einfügen könnte um die Ursache für den Hänger weiter einzugreisen. In den Upstart-Logdateien habe ich auch nichts gefunden.
Darum die Frage(n):
Hat hier jemand einen Tipp, was ich machen könnte, um die Ursache bei initctl weiter einzugreisen bzw. hat jemand schon einen Fix für das Problem?
Derzeit helfe ich mir mit folgender /etc/init/wait-for-vdr.conf Datei, die nach 25 Sekunden nach dem Einschalten schaut, ob das 20vdr_sleep Script noch läuft und dann rebootet:
start on starting vdr
task
script
logger -t wait-for-vdr "*** Start check for 20vdr_sleep hangs"
{
sleep 25
if ps ax | grep -v grep | grep 20vdr_sleep > /dev/null; then
{ if ps ax | grep -v grep | grep kodi.bin > /dev/null; then kodi-send --host=127.0.0.1 -a "Notification(Suspend2Ram:,Problem beim Aufwachen. Ich fuehre Reboot aus,10000)" ; else vdr-dbus-send /Skin skin.QueueMessage string:'Problem beim Aufwachen. Ich fuehre Reboot aus'; fi } &
logger -t wait-for-vdr "*** ERROR: PM 20vdr_sleep did not finish/hangs. Calling Reboot"
sleep 2
reboot -f
else
logger -t wait-for-vdr "*** PM 20vdr_sleep started without hanging"
fi
} &
logger -t wait-for-vdr "*** wait-for-vdr.conf Starting VDR now."
Alles anzeigen
Das System zu Rebooten ist naklar böse. Ich frage mich daher, ob es einen besseren Weg gibt das hängende 20vdr_sleep Script beim Start zu beenden. Kann ich nicht einfach ein & hinter "initctl emit resume" in 20vdr_sleep hinzufügen?