probleme mit powerswitch(APM) und vdr

  • Hi,


    da ich wg. nvram-wakeup bei meinem vdr acpi abschalten mußte, habe ich eine möglichkeit gesucht, wie ich die powertaste "entschärfen" kann. dabei bin ich im board auf das powerswitch modul gestoßen und habe mir das teil geholt.


    die ursprüngliche funktionalität - direktes einleiten eines shutdowns - war mir aber immer noch zu gefährlich. daher habe ich den aufruf auf ein shellscript umgebogen, das dem vdr mittels svdrpsend.pl das kommando "power" schickt. ist der vdr nicht erreichbar (retunstatus von svdrpsend.pl dafür geändert), so ruft das script direkt den shutdown auf.


    soweit, so gut. jetzt kommt mein problem: wenn ich das erste mal nach hochfahren des rechners die power-taste der fernbedienung drücke, bekomme ich nach einer sekunde den suspend-event im powerswitch. der schickt dann auch einmal power an den vdr und der sieht das als "not confirmed" an.


    das ganze sieht im log dann so aus:


    Code
    1. Feb 10 20:40:16 fravdr vdr[903]: Power button pressed
    2. Feb 10 20:40:16 fravdr vdr[903]: next timer event at Wed Feb 11 22:07:00 2004
    3. Feb 10 20:40:16 fravdr vdr[903]: confirm: Taste drücken um Shutdown abzubrechen
    4. Feb 10 20:40:17 fravdr kernel: powerswitch: Received suspend event, initiating shutdown
    5. Feb 10 20:40:17 fravdr kernel: apm: suspend was vetoed.
    6. Feb 10 20:40:17 fravdr vdr[903]: connect from 127.0.0.1, port 32771 - accepted
    7. Feb 10 20:40:17 fravdr vdr[903]: not confirmed
    8. Feb 10 20:40:17 fravdr vdr[903]: closing SVDRP connection


    anschließend nimmt powerswitch keine betätigung der powertaste mehr war, ein "apm -s" schon.


    fazit: power-taste funktioniert nur einmal, erster versuch mit FB-power funktioniert nicht


    hat jemand einen tip für mich für die beiden probleme:


    1. wie bekommt powerswitch mit, dass der vdr in 4 sek. den rechner runterfahren könnte?


    2. warum funktioniert powerswitch nur einmal?


    danke im vorraus


    richard

  • Nach dem ersten shutdown wirst du mittels


    lsmod


    feststellen, dass das modul powerswitch nicht geladen ist.



    make install


    kopiert die powerswitch.o in dein modulesdir
    und


    echo powerswitch >> /etc/modules


    sorgt dafür, dass das modul beim start automatisch geladen wird.


    als shutdownbefehl für powerswitch benutze ich folgendes script:


    Shell-Script
    1. #!/bin/sh
    2. if pgrep -x vdr &>/dev/null ; then
    3. echo "svdrpsend.pl HITK Power" | at now
    4. else
    5. echo "/usr/local/src/My_VDR-scripts/vdrshutdown 0" | at now
    6. fi


    vdrshutdown ist das script, was auch nvram benutzt, deswegen die 0 dahinter. kannst du aber nach belieben anders machen.


    Gruß e-PUNK

    --
    Hi! I'm a signature virus, copy me in your ~/.signature to help me spread.

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von e-PUNK ()

  • hi e-PUNK,


    das powersitch modul ist installiert. es bleibt auch nach aktivierung im kern (lsmod zeigt es weiterjin an). das modul ist auch weiterhin über "apm -s" ansprechbar.


    allerdings empfängt es keine nachrichten vom powerbutton (werden wohl durch das BIOS ausgelöst) mehr, nachdem es das erste mal angesprochen wurde. apm -s funktioniert dann aber immer noch und powerswitch empfängt den Suspend-Request.
    wahrscheinlich merkt sich das bios, dass es den request schon mal gestellt hat und schickt ihn nur rinmal während eines powerzyklus.


    besteht bei deinem script nicht die gefahr, dass ein bereits programmierter timer im nvram gelöscht wird, wenn vdr beim drücken der powertaste mal nicht aktiv ist?


    gruß
    richard

  • Zitat

    soweit, so gut. jetzt kommt mein problem: wenn ich das erste mal nach hochfahren des rechners die power-taste der fernbedienung drücke, bekomme ich nach einer sekunde den suspend-event im powerswitch. der schickt dann auch einmal power an den vdr und der sieht das als "not confirmed" an.


    Wieso ist der fernbedienungspowerbutton an powerswitch gekoppelt?
    Wenn bei mir der fernbedienungsknopf gedrückt wird, dann ruft vdr das vdrshutdown-script auf, das per parameter oder systemvariable in der runvdr bekannt gemacht wird.


    wenn ich nun den powerknopf am gerät kurz drücke, dann würde mein system sich normalerweise sofort ausschalten, da ich keine 4sec warten im bios aktiviert habe.


    ich werd gleich nochmal nachschauen, welche biosoption ich genau verändert habe, jedenfalls nicht suspend nach 4 sec. da hab ich den normalen wert (werd gleich schauen, was da steht) gelassen.


    wozu auch 4 sec warten? das kernelmodul powerswitch fängt ja gerade dieses (schnelle) suspend ab und startet mein oben erwähntes vdrpoweroff-script.


    Ich habe es inzwischen etwas angepasst.


    Falls vdr gerade nicht läuft, so startet vdrpoweroff vdr.
    dann testet es 60 sekunden lang pro sekunde einmal, ob vdr endlich gestartet ist. Falls ja, sendet es den HITK Power.
    falls nach 60 sec vdr nicht gestartet werden konnte, gibts ne warnung wegen dem timer und es wird wie oben vdrshutdown 0 gestartet.


    Gruß e-PUNK


    Ach ja ich benutze powerswitch v 1.4

    --
    Hi! I'm a signature virus, copy me in your ~/.signature to help me spread.

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von e-PUNK ()

  • ich habe eine situation festgestellt, bei der powerswitch versagt:


    wenn ich den powerbutton drücke, und dann gleich nochmal, um den shutdown abzubrechen, dann vdr beende und nun den powerbutton nochmaldrücke. Dann wird kurz ausgeschrieben, dass apm "vetoed" hat und nichts passiert.


    wenn man in meinem oben angegeben vdrpoweroff-skript jedoch noch ein "sleep 5;" (kürzer geht bestimmt auch) vor das vdrshutdown schreibt, dann funktionierts aber wieder.


    wenn vdr läuft und der HITK Power gesendet wird, dann ist diese kurze wartezeit ja automatisch vorhanden.


    wie auch immer ich habe vdrpoweroff noch etwas abgewandelt, so dass timer auch bei nicht laufendem vdr ordentlich gesetzt werden.



    falls innerhalb der 60 sec vdr nicht gestartet ist, ist allerdings fragwürdig, ob es beim nächsten hochfahren, z.B. durch einen timer, überhaupt funktioniert.


    sei's drum, das warning soll dann über diesen fall informieren.


    Gruß e-PUNK

    --
    Hi! I'm a signature virus, copy me in your ~/.signature to help me spread.

    Dieser Beitrag wurde bereits 4 Mal editiert, zuletzt von e-PUNK ()

  • ich weiss inzwischen, woher das powerswitch-modul seine info beim drücken des powerbuttons auf der fernbedienung bekommt: es ist die IR erweiterung für das einschalten des pc's über fernbedienung. da muß ich ne hw-maßnahme treffen, damit die nicht bei laufendem pc den power-button betätigt.


    e-PUNK : benutzt du das original powerswitch-modul oder hast du es gepatched?


    gruß
    richard

  • weiß nich 100%
    hab es hier im forum von einem link in einem posting runtergeladen.
    vermute aber, dass es die original ver 1.4 ist.

    --
    Hi! I'm a signature virus, copy me in your ~/.signature to help me spread.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von e-PUNK ()