ACPI wakeup (zum 2.) mit vdr 2.4.1 und/oder 2.6.1 unter Xubuntu

  • Hallo,


    nachdem es jahrelang funktioniert hat wie auf


    acpi-wakeup ändern


    beschrieben, geht das Hochfahren des VDR mittels Timer nicht mehr. :( Hat sich irgend etwas an den Parametern geändert?


    Allerdings musste ich meine CMOS-Puffer-Batterie wechseln, weil komplett leer. Damit haben sich auch die BIOS-Einstellungen zurück gesetzt.

    Wie muss ich das BIOS konfigurieren?


    Weiß jemand Rat?
    Danke für Eure Hilfe.


    MfG G.Bruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • ERP (unter Energieoptionen) muß ausgeschaltet sein. Evtl. gibt es auch noch andere "advanced energy saving" Optionen, bitte erstmal deaktivieren.

    Wake by RTC muß aber aus sein.

    Wichtig: die BIOS-Zeit muß mit der Systemzeit synchronisiert sein. Am besten chrony installieren und als root "chronyc trimrtc" aufrufen.

  • Schau mal im BIOS, ob Du dort ACPI-Funktionen findest, z.B.

    ACPI Function -> Enabled, ACPI Standby State -> S1, Wake Up Event by -> OS

    Ist aber je nach BIOS unterschiedlich benannt und kann unter Power Management oder auch woanders versteckt sein.

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Hallo,


    danke für die Tipps. Diese Energiesparfunktionen gibt es bei meinem ASUS-Mainboard F2A85-V Pro nicht, nur "EPU Power Saving" (?). Das Board ist aber schon älter, BIOS-Datum 2012.

    Aber ich habe den Fehler gefunden: mein Script acpi-wakeup greift auf die Datei /etc/rcS zu, um abzufragen, ob UTC oder lokale Zeit eingestellt ist. Diese Datei gibt es bei den neueren Versionen von Ubuntu nicht mehr, es wird alles über systemctl geregelt, leider:(. das ist völlig undurchsichtig. Ich habe als root eine /etc/rcS von Hand erstellt mit dem Inhalt "UTC=yes", und jetzt geht es :). Vielleicht hilft das jemandem weiter.


    MfG G. Bruno

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

    The post was edited 1 time, last by GBruno ().

  • ich verwende seit Jahren ein ganz einfaches Script, auch unter Ubuntu 20.04.

    Shell-Script
    1. #!/bin/bash
    2. hwclock --systohc --utc
    3. DEV=/sys/class/rtc/rtc0/wakealarm
    4. nextboot=$(($1 - 300 )) # Start 5 minutes earlier
    5. sh -c "echo 0 > $DEV"
    6. sh -c "echo $nextboot > $DEV"
    7. svdrpsend plug softhdcuvid deta
    8. svdrpsend plug softhddevice deta
    9. poweroff

    Da mein vdr unter einem normalen user und nicht als root läuft, wird dieses aber nicht direkt mit der -s Option dem vdr beim Start übergeben, sondern über einen shutdown-wrapper.


    Der Parameter --utc ist hier also fest gesetzt - es wird vorausgesetzt, dass im BIOS die UTC-Zeit gesetzt ist. Das ist m.E. eigentlich auch Standard bei einer Ubuntu-Installation. Die Datei /etc/default/rcS gibt es seit Ubuntu 17.04. nicht mehr.

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Das sieht gut aus. Allerdings verstehe ich die Zeilen 8 und 9 nicht. Könntest Du das erklären? Und wo muss das Skript stehen? /etc/vdr/shutdown-hooks? Und softhddevice habe ich nicht, auch nicht softhdcuvid.


    Mein Skript ist so lang, weil ich es 2016 von Tobias Grimm übernommen und dann abgeändert habe, außerdem viele Ausgaben zur Fehlersuche (es gab reichlich).

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Die Befehle detachen nur diese Devices - das sollte aber ohnehin nicht notwendig sein, da der shutdown-wrapper zuerst den VDR beenden müßte.

    Der Shutdown-Wrapper ist bei mir -rwsr-s--- 1 root vdr 84568 Feb 2 16:02 /usr/share/vdr-plugin-dbus2vdr/shutdown-wrapper und macht eine "privileg escalation", damit die shutdown-hooks unter /usr/share/vdr/shutdown-hooks und /etc/vdr/shutdown-hooks (custom hooks) als root ausgeführt werden können.

    Eines der hooks erledigt die Vorbereitung des acpi-wakeups.

  • Das detachen des Ausgabedevices vor dem Ausschalten war zumindest damals notwendig, damit der Rechner nicht beim Runterfahren hängen bleibt und auf das Beenden eines Prozesses wartet. Kann sein, dass das heute nicht mehr nötig ist, schadet auf alle Fälle auch nicht. Ich habe gleich präventiv gleich beide Ausgabeplugins eingetragen, weil ich sie manchmal zum Testen wechsle.
    Da ich alles selbst kompiliere, mache ich vieles einfacher und simpler als in den Debian-Paketen. Shutdown-hooks habe ich z.B. gar nicht.
    Ich verwende zum Starten von vdr die ganz normale runvdr und habe die in den xfce Autostart gelegt. Man kann entweder direkt dort oder als Parameter in /etc/vdr/conf.d/vdr.conf den shutdown-Parameter ( -s) beim Starten von vdr vorgeben. Der verweist auf den shutdown-wrapper (ein ausführbares binary), das dann mein Script /usr/local/bin/vdrpoweroff.sh ausführt.

    Dein Script heisst sicher anders und liegt auch woanders, aber Du scheinst es ja schon gefunden zu haben, wenn Du identifiziert hast, das darin /etc/default/rcS steht. (Ich vermute mal, das default im Pfad hattest Du nur vergessen). Wie genau heisst denn Dein Script und wo liegt es bei Dir? Die neueste Version dürfte die hier sein:

    https://github.com/vdr-projects/vdr-addon-acpiwakeup

    Da finde ich auf die Schnelle keinen Bezug auf /etc/default/rcS.

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Mein Skript findest Du oben unter dem Link

    acpi-wakeup ändern

    Ist ein bisschen anders.

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).

  • Brauchst Du denn Deine ganzen Modifikationen? Ich würde einfach auf die aktuelle Version umstellen.

    Das Problem in Deinem Script ist ansonsten der Abschnitt

    Code
    1. # take care of UTC setting
    2. if [ -f /etc/default/rcS ]; then
    3. UTC=$(egrep "^[^#]*UTC=" /etc/default/rcS | tail -n1 | cut -d= -f2)
    4. else
    5. UTC=$UTC
    6. fi
    7. echo "Ist Zeit UTC? "$UTC >> $rtcLogFile

    Bash ist nicht gerade meine Stärke. Hier wird geprüft, ob die Datei /etc/default/rcS existiert, und wenn ja, wird daraus der Wert yes oder no ermittelt. Existiert die datei nicht (wie das bei Dir der Fall war), wird die Zuweisung

    Code
    1. UTC=$UTC

    vorgenommen, die ich nicht so recht verstehe. Zumindest scheint das Ergebnis nicht das benötigte yes zu sein, und das war Dein Problem. Wahrscheinlich würde es reichen, den Block auf


    Code
    1. # Assume that BIOS is set to UTC
    2. UTC="yes"
    3. echo "Es wird unterstellt, dass das BIOS auf UTC-Zeit läuft" >> $rtcLogFile

    abzuändern. Dann kannst Du die obsolete /etc/default/rcS löschen.

    ACT-620, Asrock B75 Pro3-M, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

  • Mein Skript findest Du oben unter dem Link

    acpi-wakeup ändern

    Ist ein bisschen anders.


    17.05.22 Es gab eine längere Unterbrechung, sorry.


    Obwohl mir Dein Script gut gefällt, bleibe ich erst einmal bei meiner Version, die jetzt gut funktioniert. Vielleicht brauche ich sie später einmal.

    Optimal wäre es, wenn man das BIOS direkt abfragen könnte, ob UTC oder lokale Zeit. Ich b in auch nicht so gut in der Bash-Programmierung. Deshalb die vielen Ausgeben in die LOG-Files, wie gesagt, zur Fehlersuche. Ist aber ganz praktisch, wenn man nicht mehr weiß, welche Filme man zuletzt aufgenommen hat.


    Übrigens darf man die Systemzeit nicht mit der Zeit im BIOS verwechseln, so wie ich es gemacht habe. Die Zeitzone muss dann doch auf "Berlin ..." stehen.

    Hardware:
    Desktop: Intel Core i5, 4x3,2 GHz, ASUS-Mainboard HL 97 plus, Festplatte Hybrid-S-ATA 2TB, 16 GB RAM, DVB-Sky-USB-Stick (DVB-T2), LG-4120B Brenner, VDR 2.4.8 (selbst kompiiiert, Ubuntu 20.04.2),
    Wohnzimmer: ASUS-Mainboard F2A85-V Pro, AMD A10 (?), 1TB-HD, 8 GB Speicher, Technotrend 4100 Budget (DVB-S), Prozessor-Grafik HD7660D, VDR 2.4.1 von XUbuntu 20.04.2).