[GELÖST] automatisches Abschalten bei ACPI=OFF und SETTIME funktioniert nicht

  • Hallo,


    nachdem ich durch fleißiges :suche im vdr-portal mein linVDR soweit eingenordet habe, dass alles, was ich so brauche, auch läuft, wollte ich das automatische Abschalten und wieder Aufwachen ausprobieren. E.On wird's mir nicht danken.


    Mein Mainboard unterstützt nur "Wakeup on alert", also wollte ich die Methode settime benutzen. Soweit alles OK.


    Aaaaber, wenn die Inaktivitätszeit und die Zeit der OSD-Meldung "Taste drücken... bla, bla" agelaufen ist, sollte meine Kiste runterfahren.
    Im Log steht auch: "executing '/usr/bin/poweroff.pl 0 -111... 0 "" 1'", aber es passiert nichts. Nach einiger Zeit (also wieder Inaktivität + Warten) wieder die gleiche Meldung.


    Wenn ich auf der Konsole "/usr/bin/poweroff.pl" aufrufe, dann schaltet sich die Kiste aus.


    Auffällig ist, dass die zweite Zahl hinter poweroff.pl eine riiiiiieeeesiege negative Zahl ist. Ich habe hier wie ein wilder rumgesucht, habe auch viele gesehen, die das Problem hatten, aber nirgends eine Lösung gefunden. Es stand nur was von neueren Kernel nehmen u.ä. Das habe ich auch - erfolglos - gemacht.
    Da das Board kein ACPI kennt, habe ich es über den Kernelparameter "acpi=off" abgeschaltet.


    Konfiguration: PII 500 auf einem Shuttle HOT-671 Mainboard (alt, aber OK). linVDR 0.7 mit dem MT-Patch (18.05.), Cody-Patch (10.09.) und DarkAngel-Kernel (2.6.12).


    Meine Fragen:
    - bin ich noch zu retten???
    - Kommt die große neg. Zahl vom VDR? Warum macht er sowas?
    - ist es ansteckend?


    Vielen Dank und Grüße aus Kassel,
    Monni

  • Hallo Monni,


    wie sieht deine poweroff.pl aus?


    gruss
    geordie

    LinVDR(productiv);ctvdr-1.2.6 (backup); ASUS A7V600-X; Duron 1200; Nexus 2.1; 2 x Skystar2; HD-Samsung 300GB; ACPI-Wakeup;WOL per Web; WRT54G v3.1

  • Hi,


    ich habe in der Datei lediglich die Zeile method = 1 (für settime) geändert. Alles andere ist noch original.
    Was mich wundert ist, dass im logread nach dem 'execute /usr/bin/poweroff.pl...' keine ausgaben des Skripts zu finden sind. Kann auch sein, dass das nicht gewollt war... weiß net.


    Grüße,
    monni

  • Hi
    mich intressiert was bei dir in sub poweroff steht.


    sieht das etwas so aus ?
    sub PowerOff {
    # system("/bin/busybox poweroff") if(!$DEBUG);
    system("/sbin/reboot") if(!$DEBUG);
    }



    geordie

    LinVDR(productiv);ctvdr-1.2.6 (backup); ASUS A7V600-X; Duron 1200; Nexus 2.1; 2 x Skystar2; HD-Samsung 300GB; ACPI-Wakeup;WOL per Web; WRT54G v3.1

  • Moin,


    die Prozedur PowerOff sieht so aus:


    sub PowerOff {
    system("/bin/busybox poweroff") if(!$DEBUG);
    }


    Da diese Funktion auch bei manuellem Aufruf des Skripts aufgerufen wird, vermute ich, dass sie OK ist.


    Wie kann ich denn nachvollziehen, ob VDR auch das Skript tatsächlich aufruft?
    Die Meldung im log 'executing ...' muss nicht zwangsweise bedeuten, dass VDR das auch macht bzw. machen kann?! Mit "ps -ef | grep power" sehe ich nichts.


    Cheers,
    monni

  • Quote

    Original von monni
    Wie kann ich denn nachvollziehen, ob VDR auch das Skript tatsächlich aufruft?


    Probier doch mal:


    sub PowerOff {
    system("/bin/mypoweroff.sh") if(!$DEBUG);
    }


    und in /bin/mypoweroff.sh schreibt du den Log Eintrag
    und ruft dann "busybox poweroff" auf.


    Gruss
    geordie

    LinVDR(productiv);ctvdr-1.2.6 (backup); ASUS A7V600-X; Duron 1200; Nexus 2.1; 2 x Skystar2; HD-Samsung 300GB; ACPI-Wakeup;WOL per Web; WRT54G v3.1

  • Quote

    Original von geordie
    und in /bin/mypoweroff.sh schreibt du den Log Eintrag


    ... wie geht das denn? Landen die Ausgaben aus stdout direkt ins Logfile? Oder wie?
    Ansonsten müsste ich über svdrpsend.pl msg eine Ausgabe ans OSD schicken - das wäre auch was.


    Danke und Grüße,
    monni

  • Moin,


    sorry für die späte Antwort. Konnte das Problem gestern lösen...


    <klugscheiss methode="extrem">
    Also dadurch, dass ich ACPI ausgeschaltet habe, stirbt d. Skript in der Zeile
    die "$PROC_ALARM missing" if(!-e $PROC_ALARM);


    Mehrere Gründe sprechen dafür, dies Überprüfung an der Stelle zu löschen:
    1. Um die Logik zu wahren, müsste man auch im else-Zweig überprüfen
    2. Wenn die Methode Settime ist, braucht man kein $PROC_ALARM.
    3. Zu einem späteren Zeitpunkt findet in der Funktion SetAlarm die
    überprüfung statt. Bei scheitern wird eine Meldung ausgegeben, der
    Rechner fährt trotzdem herunter, und das ist, was man will... schliesslich hat man ja "poweroff.pl" aufgerufen. Ein Sterben finde ich zuviel des Guten.


    Und noch ein Vorschlag am Rande:
    In meinem Fall hatte ich die Funktion dprint so umgebaut, dass die Meldungen im Syslog landen.
    </klugscheiss>


    Danke geordie für die Tips :prost2 !


    Auch an die anderen Dank und Grüße,
    monni

  • Hi monni


    Wenn ich Dich richtig vestehe, muss man bei Verwendung der Methode Settime und bei abgeschalteten ACPI in dem Script Poweroff.pl die folgende Zeile auskommentieren:


    die "$PROC_ALARM missing" if(!-e $PROC_ALARM);



    Vieleicht hilft es anderen, wenn Sie das gleiche Problem haben, das der Titel dieser Diskussion anders lautet.


    Statt
    "automatisches Abschalten über poweroff.pl funktioniert nicht "
    wäre
    "automatisches Abschalten bei ACPI=OFF und SETTIME funktioniert nicht "
    sinnvoll, oder ?


    Ich weiss nicht ob eine nachträgliche Änderung möglich ist.


    gruss goerdie

    LinVDR(productiv);ctvdr-1.2.6 (backup); ASUS A7V600-X; Duron 1200; Nexus 2.1; 2 x Skystar2; HD-Samsung 300GB; ACPI-Wakeup;WOL per Web; WRT54G v3.1

  • Hi geordie,


    Du hast das richtig verstanden.


    Im Prinzip fehlt die virtuelle Datei $PROC_ALARM auch dann, wenn ACPI zwar an ist, aber der Kernel mit dem Mainboard ACPI-Technisch nichts anfangen kann. Zumindest meine ich, dass das so ist ?(


    Und selbst wenn ACPI geht und alles OK ist kann die Zeile weg (s.o.).


    Da ich hoffe, dass gefundene Lösungen anderen helfen könnten und sollten nehme ich Dein Vorschlag dankend an und ändere die Überschrift ab.


    Dank und Gruss,
    monni