staging.inyokaproject.org

Systemd poweroff als standby auf einem Raspi

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

CrashB001

Anmeldungsdatum:
23. Mai 2017

Beiträge: 6

Hallo liebe Gemeinde,

mein Anliegen liegt darin, auf einem Raspi eine Art Standby zu gewährleisten. Für Alle, die den Raspi nicht kennen, er hat nur aus oder an... Es gibt darauf (Hardwareseitig und auch anders nicht) eine Art standby oder suspend. Mein Gedanke war also, das systemd dafür heran zu ziehen. "ich hatte es früher mit init gemacht und es hatte funktioniert". Ich habe mich belesen und in den manpages von systemd geschnökert... Also habe ich ein service für systemd erstellt:

cat /lib/systemd/system/mystandby.service

[Unit]
Description=Standby
DefaultDependencies=no
Conflicts=reboot.target
Before=poweroff.target halt.target shutdown.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/poweroff start

[Install]
WantedBy=shutdown.target halt.target poweroff.target
root@sleeptv:~#

in dem poweroff - script ist folgendes drin:

cat /usr/local/bin/poweroff

#!/bin/bash

check_key() {
    while true; do
        evtest --query /dev/input/event3 EV_KEY KEY_CONFIG
        if [ $? -ne 0 ]; then
            echo b > /proc/sysrq-trigger
        fi
    done
}

poweroff_hdmi() {
    tvservice -o 2>&1 > /dev/null
    # modprobe -r videodev 2>&1 > /dev/null
}

poweroff_wlan() {
    ifconfig wlan0 down 2>&1 > /dev/null
}

poweroff_network() {
    ifconfig eth0 down 2>&1 > /dev/null
}


case $1 in
        start)
        poweroff_hdmi
        poweroff_wlan
        poweroff_network
        check_key
        exit 0
        ;;
        stop)
        ;;
esac

Dort wartet das Script auf eine bestimmte Taste durch evtest.

Ich habe das komplett getestet, den Raspi mit kodi in den poweroff geschickt, Tastatur(kleine Rii-Tastatur als Fernbedienung) aus gemacht, an geschaltet, Knopf gedrückt und der Raspi bootet neu. Genau das war mein Anliegen. Ich habe dann weitere Tests gemacht, Raspi in den poweroff/shutdown, gewartet, bis die Fernbedienung selbst in den standby schaltet, Knopf gedrückt und sofort wurde wieder neu gestartet.

Mein Problem ist jetzt aber folgendes:

wenn ich den raspi in den poweroff schicke und ihn aber erst nächsten Tag starten will, geht das nicht mehr. Kann es sein, dass systemd nach einer gewissen Zeit doch nicht mehr auf ein script wartet, obwohl in der manpage drin steht, das gewartet wird, bis das Script eine rückmeldung gibt? Oder muss ich noch eintragen, dass udevd oder sowas für die usb-fernbedienung benötigt wird, damit dieses Modul (wie auch immer) aktiv bleibt? Oder hat da vll. jemand noch eine elegante lösung?

Ich möchte ungern, da der Raspi hinter einem Monitor an einer Wand recht weit oben hängt, ihm dann dauernd das Kabel ziehen müssen und es wieder rein stecken... das bekommt den Anschlüssen nicht gut. Und nein, ein Schalter am Kabel kommt keinesfalls in Frage und wie ich schon beschrieben hatte, hatte ich das mit dem alten Init-System ja auch hin bekommen...

Ich würd mich über konstruktive Antworten echt freuen, da ich nicht mehr weiter weis... Grüße aus Berlin und bleibt gesund!!!!

Moderiert von Cruiz:

Dieses Thema ist verschoben worden. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“)!

Bearbeitet von ChickenLipsRfun2eat:

Forensyntax korrigiert.

Moderiert von sebix:

Thema zureuck verschoben, weil Ubuntu.

CrashB001

(Themenstarter)

Anmeldungsdatum:
23. Mai 2017

Beiträge: 6

Hallo Leute,

Ich finde es schade, dass ich hier in eine Ecke der Fremdsysteme gesteckt wurde. Ja, ich hab den Raspi erwähnt, jedoch habe ich auch erwähnt, dass auf diesem UBUNTU läuft. Weiter geht es mir hier nicht um System- relevante Sachen (Raspi, Raspberry o.a.) sondern allein um Systemd, das neue Init- system von Ubuntu und allen Derivaten (oder auch anderen Linux-en). Bitte lest euch nochmal mein Anliegen durch oder verschiebt mich in eine andere Sparte... Ich sag es noch mal, es geht um SYSTEMD... nicht um den Raspi.

Vielen Dank und Grüße... bleibt gesund!!!

ChickenLipsRfun2eat Team-Icon

Supporter
Avatar von ChickenLipsRfun2eat

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12070

Hallo!

Ich hatte damals mit dem "alten Raspi" eine ähnliche Problematik bei längerer nicht-Nutzung und habe mir mit dem basteln eines schnöden Reset-Knopfes geholfen. Genau weiß ich nicht mehr, woran es lag, aber wie du schon selbst festgestellt hast, wird da hardware-seitig nichts in der Richtung angeboten.

Evtl ist der Raspi auch zu >100% ausgelastet mit der while-true-Schleife und frisst sich irgendwann fest - oder deine Tastaturmethode geht in eine Art standby. Schwer herauszufinden.

Du könntest versuchen mit usleep eine kurze Verzögerung einzubauen, um die Schleife etwas zu bremsen.

CrashB001

(Themenstarter)

Anmeldungsdatum:
23. Mai 2017

Beiträge: 6

Danke für die Gedankenansätze... das, mit dem usleep werd ich mal probieren. hatte zuvor schon ein sleep drin, aber hatte dann das Problem, dass die Taste nicht erkant wurde. wenn ich aber davon aus gehe, dass eine normale Tastatur etwa 200 ms für einen Tastendruck benötigt, sollte ich mal miot diesem Wert beginnen... THX

Gruß, und bleibt gesund

CrashB001

(Themenstarter)

Anmeldungsdatum:
23. Mai 2017

Beiträge: 6

So, jetzt mal wieder eine Meldung von mir. Leider hat ein sleep 0.02 nicht geholfen in der Schleife. Es ist nach wie vor das gleiche Problem, dass irgendwann das system komplett aus schlatet. Nach ca 10 Minuten ging es noch bei meinen Tests... ich schreibe mal ein Logfile, um zu sehen, nach welcher Zeit etwa die Kiste komplett aus geschaltet wird.

Hans19

Anmeldungsdatum:
21. Oktober 2018

Beiträge: Zähle...

Schon mal über eine Hardwarelösung nachgedacht?

Schaltbare Steckdosen mit der Messung der Leistungsaufnahme des Verbrauchers.

Heruntergefahren ist die Leistungsaufnahme des Raspi's geringer als im Betrieb. Ist die Leistungsaufnahme vom Raspi einige Zeit unter einen bestimmten Wert (weniger als im Betrieb "Leerlauf"), dann automatisch abschalten lassen.

Antworten |