HOWTO: ACPI-Wakeup auf der Activy (LinVDR)

  • Hallo Leute,


    nach ein bischen hin und her probieren, habe ich mittlerweile die Activy soweit hinbekommen, daß sie einen ganz passablen VDR abgibt.
    Ein wichtiger Teil davon ist, daß sie zu Aufnahmen pünktlich aufwacht und wieder runterfährt.


    Deshalb wie versprochen ein HOWTO, wie man ACPI-Wakeup auf der Activy realisiert.


    Ich möchte nochmal betonen, daß das meiste davon nicht von mir stammt. Mit ein bischen Geduld findet man zum Glück aber alles hier im Board. Die Aussagen sind aber ein bischen wiedersprüchlich. Ich habe das deshalb für alle Einsteiger hier nochmal zusammengefaßt.


    Ich benutze LinVDR, daß für ACPI-Wakeup schon eine Menge Vorarbeiten enthält. Ich habe ein paar Sachen aber noch nach meinem Geschmack angepaßt. Ein Dank nochmal an cooper und mottobug, für die tolle Vorarbeit. Es müßte aber auch auf anderen Distris hinzubekommen sein. Das HOWTO könnte auch für andere Rechner mit LinVDR und ACPI-Wakeup nützlich sein.


    Und los geht's:


    - Activy BIOS auf Version 1.09 upgraden. Hier gibt es im Bios (F2 beim Boot) eine Option "Resume on time", die eingeschaltet sein muß, damit es funktioniert.


    - Beim booten des Kernels muß die Option acpi=force angegeben werden. Bei LinVDR muß das in /boot/grub/grub.conf in die Zeile mit vmlinuz eingetragen werden. Bei anderen Distris evtl. in die lilo.conf eintragen.


    - Im VDR müssen unter Einstellungen/Sonstiges folgende Parameter gesetzt werden:
    Mindest Event Pause (min): 15
    Mindest Benutzer Inaktivität (min): irgendwas > 0, z.B. 120
    Dieser Wert bedeutet, daß der VDR nach 120 Minuten ohne Eingabe davon ausgeht, daß der Benutzer eingeschlafen ist und runterfährt.
    Vorher wird aber 5 Minuten lange eine Warnmeldung ausgegeben.
    Das ist wichtig!!! Bei 0 fährt der VDR nämlich nie automatisch runter. Der eigentliche Wert ist relativ unerheblich, und hängt vom persönlichen Geschmack ab, dazu aber später mehr.


    - Die Aufwachzeit wird beim runterfahren durch ein Skript poweroff.pl (siehe Anhang) nach /proc/acpi/alarm geschrieben. Dieses Skript sollte nach /usr/bin kopiert werden.
    Bei LinVDR wird dieses Script automatisch aufgerufen. Es muß einfach das Orginal durch diese Version ersetzt werden (bei anderen Distris evtl. ins Shutdown-Skript einbinden).
    Die Orginal-poweroff.pl von LinVDR geht davon aus, daß das BIOS die programmierte Zeit korrekt interpretiert. Leider ignorieren die meisten Mainboards (so auch die Activy) das angegebene Datum und wachen jeden Tag um die angegebene Uhrzeit auf und gehen nach "Mindest Benutzer Inaktivität"-Minuten wieder aus.
    Nach ein bischen Suche bin ich auf dieses Version des Skript von mottobug gestoßen, die einmal täglich in der Nacht aufwacht um die Uhrzeit zu setzen.
    Ich habe das Skript ein bischen modifiziert, so daß die Maschine nur aufwacht, wenn ein Timer für einen in der ferneren Zukunft liegenden Tag programmiert ist, und die Zeit auf 05:00 Uhr Nachts gelegt.
    Außerdem wird die Aufwachzeit auf 5 Minuten vor Beginn der Aufnahme gelegt. Der VDR ist nämlich so schlau, daß er beim Einschalten prüft, ob ein Timer in den nächsten 10 Minuten gesetzt ist. Wenn dann während der Aufnahme keine Benutzereingabe kommt, geht er, entgegen anderer Aussagen hier im Board, pünktlich 5 Minuten nach der Aufnahme auch automatisch wieder aus (und nicht erst nach
    "Mindest Benutzer Inaktivität"-Minuten).


    - Wen der VDR nun mitten in der Nacht angeht, nur um runterzufahren und die Aufwachzeit neu zu programmieren würde er normalerweise "Mindest Benutzer Inaktivität"-Minuten lang laufen.
    Deshalb das Skript checkstart.sh (siehe Anhang, auch nach /usr/bin kopieren), daß prüft, ob ein Timer gesetzt ist und die Zeit zwischen 05:00 und 05:09 liegt, und dann automatisch wieder runterfährt.
    Da ich meinen VDR selten um diese Zeit starte, ist das relativ unproblematisch.
    Das Skript muß irgendwo ins Startskript eingebunden werden, nachdem (!!!) der VDR gestartet wurde (z.B. unter LinVDR in die /etc/init.d/rcStart)


    Viel Erfolg beim ausprobieren,


    Sascha

    Dateien

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • Moin ,


    ich gebe mal nen HowTo fuer Gentoo zum Besten ;)


    ~./rc-update del clock
    need clock aus "syslog-ng , atd , bootmisc , vixie-cron" und eventl.
    anderen Startscripts rausnehmen.
    Jedenfalls darf /etc/init.d/clock nicht durch ein "need clock" eines anderen
    Startscripts gestartet werden.


    Wer die entsprechende XP hat ;) kann auch clock sichern und halt den
    Inhalt des Scripts folgend aendern :

    Code
    #!/sbin/runscript
    echo "shit , no time"


    oda:


    oda:
    Original belassen und nur stop aendern:
    stop {
    echo ":P"
    }


    Der Sinn ist wohl klar ;)
    Normalerweise setzt /etc/init.d/clock beim Runterfahren die Uhrzeit,
    was nicht sein darf.
    Deswegen auch am besten im shutdownscript die Zeile mit
    hwclock anpassen.


    In Kurzform (und wohl verstaendlicher ;)) :
    Dafuer sorgen , dass nach setzen des acpi-alarm event , nicht spaeter noch
    ne Uhrzeit gesetzt wird .

  • Hallo Sascha,


    hast du die Möglichkeit deine ganze fertige VDR Version zu zipppen und bereit zu stellen? oder gibt es bei LinVDR wie bei MiniVDR auch die Möglichkeit ein backup.iso zu erstellen. Dann könnte ich auch umsteigen :)


    Vielen Dank


    Sid

  • Hi Sid,


    gegen Rückporto könnte Ich Dir ein tar-File auf CD brennen und zuschicken.


    Dann brauchst Du nur das Orginal-LinVDR zu installieren und kannst meine Version drüberbügeln.


    Hab ich auch schion für einen Kumpel gemacht. Dann hast Du in 15 Minuten ne lauffähige Version.


    Ist VDR 1.3.11 mit Developer-Version, Fernbedienung geht sogar mit Morones trayopen für die eject-Taste, alcd von mir gepatcht läuft stabil, ACPI-Wakeup geht, tvm2vdr ist drauf und WLAN füe ne Prism-Karte


    Ich wollte mich jetzt mal an vdrconvert wagen, wenn Du noch ein paar Tage Geduld hast, wird es hoffentlich noch besser.


    Gruß,


    Sascha

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • Ich hab mir jetzt einfach mal was einfaches mit vdrsync gebastelt, um mit LinVDR mehrere Aufnahmen auf eine DVD zu bekommen. Das sollte es für den Anfang erstmal tun.


    Muß ich am Wochenende mal testen. Mache ich demnächst auch mal als Patch ins LinVDR-Forum.


    Ich weiß noch nicht, wann und ob ich das mit dem vdrconvert so schnell hinbekomme. Ich hab zumindest jetzt schon mal ein passendes Paket hier in einem Thread gefunden:


    http://www.vdrportal.de/board/thread.php?threadid=16625&sid=&threadview=0&hilight=linvdr+dvd+brennen&hilightuser=0&page=1


    Du kannst aber, wenn Du willst, nach dem Wochenende schon mal die jetztige Version haben.
    Schick mal Deine Adresse per PM.

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • Hey cool.


    The artist formerly known as Sascha Quint is now called Galaga :]

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • Galaga
    habe grade dein ACPIWAKEUP script draufgepackt und es funktioniert :]


    nur wie ist das bei die mit orgi. Fernbedienung (kein LIRC) und Power Taste?



    "bitte drucken sie eine taste um schutdown ..."´


    kommt garnicht


    wenn ich power taste drucke ist das gleiche als wenn ich in konsole "poweroff" eingebe


    so ist das nicht richtig oder?


    oder hast du wieder eine gute leichte lösung :)


    Danke im vorraus für antwort

  • Ist mir auch schon aufgefallen. Ich müßte mir nochmal anschauen wie das im Orginal gemacht war (falls ich das noch hab :D)


    Nur mal sehen, wann ich Zeit finde. Wollte eh noch umbauen, daß er nicht aufwacht wenn die nächse Sendung innerhalb der nächsten 24 Stunden ist.
    Ich hab im Moment nur wenig Zeit.

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • So, noch eine kleine Änderung am poweroff.pl
    Wie Morone schon angemerkt hat, macht es keinen Sinn das Ding in der Nacht hochzufahren, wenn ,morgen früh ne Aufnahme ansteht.


    So ist das besser:


    if($1 < $FiveOclock) {


    ändern in:


    if($1 < time()+86400) {


    Das mit der Powertaste war aber scheinbar bei mir vorher auch schon so (stört mich auch weniger). Man müßte irgendwie den Keycode der Power-Taste ummappen auf so was wie


    /usr/local/bin/svdrpsend.pl HITK Power


    Hab aber keine Ahnung wie das gehen soll. showkey zeigt die Taste nicht an.
    Wie war das denn bei Dir vorher?

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

    Einmal editiert, zuletzt von Galaga ()

  • siehe hier http://www.vdrportal.de/board/thread.php?threadid=20791&sid=&threadview=0&hilight=&hilightuser=0&page=2



    zitat Morone:


    Vorgang ist jener:
    Power auf FB ruft "acpi-event power" auf.
    "acpi-event power" ruft /sbin/vdr-shutdown.sh auf , was prueft ob VDR laeuft.
    Wenn nein , dann wird Kiste runtergefahren.
    Wenn ja , dann wird mittels svdrpsend.pl "HITK Power" aufgerufen ,
    was zur Folge hat , dass VDR das Shutdownscript /usr/bin/vdrpoweroff.sh
    aufruft und somit halt die Zeit setzt.
    Mit den Sachen von oben sollte das schon klappen.
    Musst halt "halt" ersetzen , wenn du ihn schlafen legen moechtest


    :rolleyes: :rolleyes: :rolleyes:


  • Dann sollte es doch tun, wenn Du vdrpoweroff.sh durch poweroff.pl ersetzt hast ?(

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

  • das mit power taste geht jetzt


    Zitat

    Man müßte irgendwie den Keycode der Power-Taste ummappen auf so was wie


    /usr/local/bin/svdrpsend.pl HITK Power


    nano -w /etc/acpi/events/powerbtn


    Code
    event=button[ /]power
    action=/usr/bin/svdrpsend.pl HITK Power


    speichern FERTIG! :)

  • Servus,


    Zitat

    wenn ich power taste drucke ist das gleiche als wenn ich in konsole "poweroff" eingebe
    so ist das nicht richtig oder?


    Wenn du einen IR-Einschalter verwendest, der zwischen der Power-Taste und dem Mainboard sitzt, ist das völlig OK.


    Die Power-Taste am Gehäuse wird stets interpretiert als "Jetzt aber wirklich runter mit dir". Ist ja auch sinnvoll, wenn der Benutzer schon aufsteht und zur Kiste geht, will er meist wirklich, dass sie aus geht.


    Viele Grüße, Mirko

  • Servus Stefan,


    Zitat

    So, noch eine kleine Änderung am poweroff.pl
    Wie Morone schon angemerkt hat, macht es keinen Sinn das Ding in der Nacht hochzufahren, wenn ,morgen früh ne Aufnahme ansteht.


    Ah, du gehst also davon aus, dass du stets mindestens das EPG für 24 Stunden im voraus parat hast. Da wirst du bei der RTL-Gruppe in der Urlaubszeit sehr viel Spaß bekommen, weil dein Autotimer nicht mehr vernünftig funktioniert und die Kiste Sendungen verschläfst.


    Und wie bekommst du Programmänderungen in der Nacht mit? Die EPG-Aktualisierung läuft bei allen Sendern zwischen Mitternacht und zwei Uhr. Je nach Sender hast du nur das EPG bis etwa zwei Uhr. Genau das ist der Grund, warum ich die Kiste um zwei Uhr wecke und nicht morgens um 5 oder sonst wann.


    Viele Grüße, Mirko

  • Servus,


    Zitat

    nano -w /etc/acpi/events/powerbtn


    Code
    event=button[ /]power
    action=/usr/bin/svdrpsend.pl HITK Power


    speichern FERTIG! :)


    Herzlichen Glühstrumpf, dein Rechner wird sich überhaupt nicht mehr ausschalten lassen, wenn VDR nicht mehr läuft oder das SVDRP blockiert ist -- allenfalls über das Not-Cut-Off (7 Sekunden halten), wobei du dann die Kiste hart ausschaltest, du könntest genauso gut den Stromstecker ziehen.


    Einer der Gründe, warum wir das eben nicht per svdrpsend.pl laufen lassen.


    Leider haben kleine Änderunge häufig ziemlich weit reichende Auswirkungen, die man erst sehr spät erkennt, wenn man nicht in der Materie drin steckt. Wie schon oft gesagt, hat's meist nen Grund, warum wir das so und nicht anders rum machen.


    Viele Grüße, Mirko

  • Zitat

    Wenn du einen IR-Einschalter verwendest, der zwischen der Power-Taste und dem Mainboard sitzt, ist das völlig OK.


    Die Power-Taste am Gehäuse wird stets interpretiert als "Jetzt aber wirklich runter mit dir". Ist ja auch sinnvoll, wenn der Benutzer schon aufsteht und zur Kiste geht, will er meist wirklich, dass sie aus geht.


    Activy300 hat sein eigenen ein IR-Einschalter.



    Zitat

    Ah, du gehst also davon aus, dass du stets mindestens das EPG für 24 Stunden im voraus parat hast. Da wirst du bei der RTL-Gruppe in der Urlaubszeit sehr viel Spaß bekommen, weil dein Autotimer nicht mehr vernünftig funktioniert und die Kiste Sendungen verschläfst.


    Und wie bekommst du Programmänderungen in der Nacht mit? Die EPG-Aktualisierung läuft bei allen Sendern zwischen Mitternacht und zwei Uhr. Je nach Sender hast du nur das EPG bis etwa zwei Uhr. Genau das ist der Grund, warum ich die Kiste um zwei Uhr wecke und nicht morgens um 5 oder sonst wann.


    ja, dann poste mal die richtige einstellung.


    oder noch besser deine poweroff.pl und checkstart.sh hier posten :)




    Zitat

    Herzlichen Glühstrumpf, dein Rechner wird sich überhaupt nicht mehr ausschalten lassen, wenn VDR nicht mehr läuft...


    vdr läuft immer :]


    Zitat

    ...oder das SVDRP blockiert ist -- allenfalls über das Not-Cut-Off (7 Sekunden halten), wobei du dann die Kiste hart ausschaltest, du könntest genauso gut den Stromstecker ziehen.


    wie kann SVDRP blokieren :rolleyes:


    du meinst, es ist besser wenn der rechner in standby modus geht?


    ich finde es ist besser wenn der rechner ganz aus geht !!!STROM WIRD BALD NOCH TEURER!!! :]

  • Servus,


    Zitat

    Activy300 hat sein eigenen ein IR-Einschalter.


    Leider hab ich nur nen mehr als kurzen Blick auf die Activys werfen können -- aber es scheint die gleiche Wirkungsweise zu sein wie ein eingeschleifter IR-Einschalter.


    Zitat

    ja, dann poste mal die richtige einstellung.


    oder noch besser deine poweroff.pl und checkstart.sh hier posten :)


    Wer :suche der findet: http://vdrportal.de/board/thread.php?threadid=11691&postid=91351#post91351
    Die Notwendigkeit einer checkstart.sh hat mir bislang leider niemand begreiflich machen können -- was soll ich denn checken, wenn die Kiste eh alle 24h für eine Stunde läuft, um den EPG-Scan und den AutoTimer laufen zu lassen? Dafür reicht ACPI-Wakeup ja nun aus.


    Zitat

    vdr läuft immer :]


    Ah -- na dann ist ja gut. Er darf halt nie abstürzen und sich nie aufhängen und muss immer hübsch auf alle SVDRP-Kommandos reagieren.


    Zitat

    wie kann SVDRP blokieren :rolleyes:


    Och, hatten wir schon. Oder gar kein SVDRP mehr, meist Probleme eben mit VDR.


    Zitat

    du meinst, es ist besser wenn der rechner in standby modus geht?


    Na wer redet denn von sowas???


    Nur machst du's dir halt mit dem svdrpsend.pl etwas arg einfach und damit wird das ganze fehleranfällig. So sollte ein Script vielleicht erst mal nachsehen, ob VDR überhaupt noch per SVDRP erreichbar ist und reagiert -- wenn nicht, kann es direkt runter fahren.


    Und dann haben wir noch das Problem während laufenden Aufnahmen -- ich kann ja ohne Fernbedienung nicht bestätigen, dass er runterfahren soll. Also ein Flagg einbauen, dass zweimaliges Drücken von Power binnen 5 Sekunden z.B. die Bestätigung ersetzt und die Kiste korrekt runter fährt.


    Viele Grüße, Mirko

  • "Ah -- na dann ist ja gut. Er darf halt nie abstürzen und sich nie aufhängen und muss immer hübsch auf alle SVDRP-Kommandos reagieren"


    mein VDR reagiert auf SVDRP-Kommandos ohne probleme, habe schon getestet :D


    das mit Script weill du mehr LINUX ahnung hast als ich, villeich helft dir und LinVDR user das weiter.


    :suche :D


    Morone Beitrag:


    /usr/bin/vdrpoweroff.sh sieht so aus :


    /etc/acpi/default.sh


    sbin/vdr-shutdown.sh


    vdrpoweroff.sh ist bei LinVDR poweroff.pl
    ist aber für gentoo


    funktionieren die scripte auch unter LinVDR?

  • Da hab ich ja eine Riesen-Diskussion verpaßt:


    Zitat

    Herzlichen Glühstrumpf, dein Rechner wird sich überhaupt nicht mehr ausschalten lassen, wenn VDR nicht mehr läuft oder das SVDRP blockiert ist -- allenfalls über das Not-Cut-Off (7 Sekunden halten), wobei du dann die Kiste hart ausschaltest, du könntest genauso gut den Stromstecker ziehen.


    Das direkte ausschalten hat mich auch nie gestört, deswegen war der Tipp mit dem HITK Power auch nur aus dem Kopf, weil er die Ausschaltmeldung haben wollte.


    Wenn man das richtig machen will, sollte man auch nicht umbedingt das HITP direkt eintragen, sondern es so machen wie Morone in seinem sbin/vdr-shutdown.sh.


    So oder so ähnlich (Pfade stimmen nicht):


    #!/bin/bash


    VDR="`/bin/ps -A | grep -w 'vdr' | wc -l`"


    EVENTMSG0="VDR NOT RUNNING , PROCESSES: "
    SHUTDOWNCMD="/usr/bin/poweroff.pl"


    EVENTMSG1="VDR IS RUNNING , TRY TO SEND HITK POWER ,PROCESSES: "
    VDRSHUTDOWNCMD="/VDR/bins/svdrpsend.pl HITK Power"


    if [ $VDR -eq 0 ] ; then


    echo "$EVENTMSG0 $VDR"
    $SHUTDOWNCMD


    else


    echo "$EVENTMSG1 $VDR"
    $VDRSHUTDOWNCMD


    fi


    ----


    Zitat

    Ah, du gehst also davon aus, dass du stets mindestens das EPG für 24 Stunden im voraus parat hast. Da wirst du bei der RTL-Gruppe in der Urlaubszeit sehr viel Spaß bekommen, weil dein Autotimer nicht mehr vernünftig funktioniert und die Kiste Sendungen verschläfst.


    Zitat

    Die Notwendigkeit einer checkstart.sh hat mir bislang leider niemand begreiflich machen können -- was soll ich denn checken, wenn die Kiste eh alle 24h für eine Stunde läuft, um den EPG-Scan und den AutoTimer laufen zu lassen? Dafür reicht ACPI-Wakeup ja nun aus.


    Mir war wichtig, daß meine Kiste nur so kurz wie möglich läuft, weil sie eingebaut ist und recht warm wird. Mich würde stören, wenn im Urlaub mal wieder der VDR wegen schlechtem Empfang abestürzt ist und die Kiste 2 Wochen duchgelaufen ist.


    Autotimer benutze ich nicht. EPG brauche ich nur wenn ich da bin. Ich mache eh das meiste über TV-Info.


    Zitat


    Leider haben kleine Änderunge häufig ziemlich weit reichende Auswirkungen, die man erst sehr spät erkennt, wenn man nicht in der Materie drin steckt. Wie schon oft gesagt, hat's meist nen Grund, warum wir das so und nicht anders rum machen.


    Schande über mich, wenn ich an der großen Weisheit des cooper gezweifelt habe.
    Ist halt meine persönliche Präferenz, aber wer das nicht so mag braucht das ja nicht zu installieren. Ich habe ja ausführlich beschrieben was es macht,

    ... that light at the end of the tunnel is the front of an oncoming train.


    System1:
    Reelbox Avantgarde


    System2 (Backup/Spielerei)
    Software: Windows XP mit DVBViewer, Hardware: Asus Pundit, tevii s660, Nova-T USB, Tevii S660

Jetzt mitmachen!

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