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.

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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).

    Einmal editiert, zuletzt von GBruno ()

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

    Bash
    #!/bin/bash
    hwclock --systohc --utc
    DEV=/sys/class/rtc/rtc0/wakealarm
    
    nextboot=$(($1 - 300 ))  # Start 5 minutes earlier
    sh -c "echo 0 > $DEV"
    sh -c "echo $nextboot > $DEV"
    svdrpsend plug softhdcuvid deta
    svdrpsend plug softhddevice deta
    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.

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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.

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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
    # take care of UTC setting
        if [ -f /etc/default/rcS ]; then
            UTC=$(egrep "^[^#]*UTC=" /etc/default/rcS | tail -n1 | cut -d= -f2)
         else
            UTC=$UTC
         fi
    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
    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
    # Assume that BIOS is set to UTC
    UTC="yes"
    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.

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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).

  • Hallo,


    wieder Probleme mit acpi-wakeup:

    Dein Script (gekürzt) funktioniert bei mir nicht:

    Bash
    #!/bin/bash
    hwclock --systohc --utc
    DEV=/sys/class/rtc/rtc0/wakealarm
    
    nextboot=$(($1 - 300 ))  # Start 5 minutes earlier
    echo 0 > $DEV
    echo $nextboot > $DEV"
    #svdrpsend plug softhdcuvid deta
    #svdrpsend plug softhddevice deta
    poweroff


    Das manuelle Schreiben in /sys/class/rtc/rtc0/wakealarm funktioniert problemlos, auch die Anzeige von cat /proc/driver/rtc ist korrekt. Nach poweroff fährt das Biest aber nicht hoch. Ich habe alles probiert, CMOS zurück gesetzt, Batterie gemessen, alle Karten ausgebaut. Nichts hilft. Jetzt denke ich, es könnte am alarm_irq liegen, dass der irgendwie nicht richtig konfiguriert ist, also die IRQ's, die dem CMOS zugeordnet sind. Komme ich da weiter?


    Allerdings teste ich meist im Recovery-Modus, weil das ganze Hochfahren des VDR zu lange dauert. Aber auch dann geht nichts. Im Shutdown-Protokoll steht immer batt_status: dead, obwohl das nicht stimmt.

    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).

  • Hallo jrie,

    Code
    cat /proc/driver/rtc
    alarm_IRQ    : yes

    Das ist in Ordnung.

    Aber ich bin auf der Suche nach IRQ's auf ACPI gestoßen. Da gibt es einen Kernel-Parameter "acpi=force". Den habe ich in die

    Code
    /etc/default/grub

    eingetragen. Danach hat der PC erstmal einen Fehlstart hingelegt, nach reboot hat es wirklich funktioniert! :) Mit localtime und VDR-Timer. Zumindest einmal, ich muss es noch weiter beobachten. Die Zeiteinstellung lese ich jetzt aus der /etc/adjustime aus. Geht prima.


    Wie das passieren konnte, ist mir unklar, vielleicht bei einem der Updates von Ubuntu. Ich habe das über 10 Jahre nicht gebraucht. Mal sehen.

    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).

    Einmal editiert, zuletzt von GBruno () aus folgendem Grund: Schreibfehler, Ergänzung

  • Bisher klappt es. Nur ein Timer für den nächsten Morgen, bei über Nacht abgeschaltetem PC (ohne Strom) , ging nicht. Muss ich weiter forschen. Weiß jemand, wie aCPI mit den IRQ's zusammen hängt?

    MfG


    Gbruno

    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).

  • bei über Nacht abgeschaltetem PC (ohne Strom)

    na ja, ohne Strom kann der Rechner sich ja auch nicht einschalten :/


    Du solltest im BIOS unbedingt einstellen, dass nach einem Stromverlust der Rechner neu bootet, wenn der Strom wieder kommt. Wenn der Timer dann kurz bevorsteht, bleibt er an und nimmt auf. Ansonsten fährt er nach der eingestellten Minimum User Inactivity Zeit wieder runter und schreibt dabei die nächste Aufwachzeit ins Board.

    Was nicht funktionieren wird ist, dass das Board die Aufwachzeit bei Stromausfall behält. Das habe ich noch bei keinem Board erlebt - trotz voller 3V-Lithium-Batterie

    VDR1: ACT-620, Asus P8B75-M LX, 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.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    na ja, ohne Strom kann der Rechner sich ja auch nicht einschalten

    Natürlich habe ich den Strom ca. 3 Std. vor dem Timer wieder eingeschaltet.


    Zitat

    Was nicht funktionieren wird ist, dass das Board die Aufwachzeit bei Stromausfall behält. Das habe ich noch bei keinem Board erlebt - trotz voller 3V-Lithium-Batterie


    Das ist ein guter Hinweis, wusste ich nicht. Ich dachte, das CMOS-Ram behält alles. Die übrigen Einstellungen sind ja noch da.

    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).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!