[Announce] WakeMeUp - Server-0.14 / Client-0.9

  • Server:


    Code
    1. Jul 17 11:45:22 server WakeMeUp [2030]: [192.168.2.41] Connect.
    2. Jul 17 11:45:24 server WakeMeUp [2030]: [192.168.2.41] OK. Get up at: Thu Jul 17 11:55:00 2008 (WoL)
    3. Jul 17 11:45:24 server WakeMeUp [2030]: [192.168.2.41] Disconnect.


    Client:


    Code
    1. (UNKNOWN) [192.168.2.2] 9999 (?) open
    2. OK. Get up at: Thu Jul 17 11:55:00 2008 (WoL)


    Code
    1. # atq
    2. 1 Thu Jul 17 11:55:00 2008 a root


    Das geht also, dann kann der Fehler nur noch beim VDR shutdown hook liegen meiner meinung nach....

  • Quote

    /bin/bash /usr/share/vdr/shutdown-hooks/S99.wakemeup $[`date +%s`+900]


    Der direkte Aufruf hat auch geklappt. Nun habe ich nochmal den VDR runtergefahren. Hier klappt es wieder nicht...


    Code
    1. Jul 17 13:03:00 vdr vdr: [12791] next timer event at Thu Jul 17 17:57:00 2008
    2. Jul 17 13:03:00 vdr vdr: [12791] executing '/usr/lib/vdr/vdr-shutdown.wrapper 1216310220 17640 3 "Die Simpsons" 1'
    3. Jul 17 13:03:00 vdr vdr: [12791] saved setup to /var/lib/vdr/setup.conf
    4. Jul 17 13:03:00 vdr vdr: [12791] max. latency time 6 seconds
    5. Jul 17 13:03:00 vdr vdr-shutdown: executing /usr/share/vdr/shutdown-hooks/S90.custom as shell script
    6. Jul 17 13:03:00 vdr vdr-shutdown: executing /usr/share/vdr/shutdown-hooks/S99.wakemeup as shell script
    7. Jul 17 13:03:05 vdr WakeMeUp: Wrong input!^M
    8. Jul 17 13:03:05 vdr logger[12830]: do shutdown now...
  • Hmm, sehr seltsam, das Ganze.


    Könntest Du im Hook mal die Timer-Variable ausgeben lassen ? Also:

    Code
    1. echo "-$TIMER-" >>/tmp/debug.log # <- diese Zeile einfügen
    2. # now run the command


    Ich vermute ja irgendein non-printable-Zeichen...


    Gruß,
    Matze



    PS.: Sorry für den Aufwand - die nächste Version wird definitiv einen Debug-Schalter haben :)

  • Code
    1. # more /tmp/debug.log
    2. -1216310220-


    schaut _leider_ richtig aus......


    Edit:


    ich habe eben in /tmp noch ein anderes file gefunden:


    Code
    1. # more /tmp/vdr-err.K12783
    2. [: 35: ==: unexpected operator
    3. [: 123: ==: unexpected operator
    4. [: 123: ==: unexpected operator
    5. eval: 1: Wrong: not found


    diese 1 könnte oben vom timer kommen....

  • Ok, ich habe das Problem erkannt - glaube ich. Das Problem ist, dass Ubuntu /bin/sh standardmäßig auf /bin/dash verlinkt, welche wiederum Teile der Bash-Syntax nicht versteht :(
    Ich benutzte allerdings Debian, wo /bin/sh nach /bin/bash gelinkt ist.


    Eine mögliche temporäre Lösung wäre es, den Link auf die Bash zeigen zu lassen - zumindest, biss ich eine bessere Lösung dafür habe...


    Code
    1. sudo dpkg-reconfigure dash


    Gruß,
    Matze


    Edit: Befehl noch ergänzt

  • Hi NemoN,


    ich habe mir den Shutdown-Hook noch mal angesehen und so angepasst, dass er jetzt mit bash und dash funktioniert.
    Allerdings habe ich grad meine Entwicklungsumgebung nicht zur Verfügung, um ein neues Debian-Paket zu bauen, deshalb gibts hier erstmal nur ein Diff...


    Code
    1. sudo patch /usr/share/vdr/shutdown-hooks/S99.wakemeup < vdr-shutdown-hook.diff


    Btw.: Läufts denn ansonsten zu Deiner Zufriedenheit ?


    Gruß,
    Matze

  • den patch teste ich morgen gleich.


    sonst läuft alles prima.


    ein anderes "problem" habe ich noch, ich lasse meinen server um mitternacht per script herunterfahren. wenn ein timer nach mitternacht startet ist das natürlich schlecht, den so kann er den client auch nicht per wol aufwecken :) ich muss mal sehen ob ich mein shutdown
    script dazu bringen kann zu checken ob ein timer in der nacht fällig ist und dann den server laufen lässt.


    mein "script" welches um mitternacht per cron ausgeführt wird ;-)

    Code
    1. # poweroff in 5 minutes
    2. /sbin/shutdown -h +5
  • ich habe jetzt doch noch einen fehler gefunden... wenn ein timer gesetzt ist, dann fährt der vdr client nicht mehr runter.


    Server:

    Code
    1. Jul 28 18:36:42 server WakeMeUp [2063]: [192.168.2.41] Connect.
    2. Jul 28 18:36:43 server WakeMeUp [2063]: [192.168.2.41] OK. Get up at: Mon Jul 28 20:59:00 2008 (already added)
    3. Jul 28 18:36:43 server WakeMeUp [2063]: [192.168.2.41] Disconnect.


    Der Client versucht nun immer und immer wieder ( nach 5 Minuten ) herunterzufahren.


    Könnte es sein das der Error level den der shutdown hook zurückgibt != 0 ist?

  • Hi NemoN,


    hmm, kann ich mir im Moment nicht erklären, da ich ja den exit-Status entsprechend setze - also 0, wenn alles ok ist bzw. 1, wenn ein Fehler aufgetreten ist.


    Was sagt denn das Log auf dem Client ?


    Leider kann ich es mir erst morgen ansehen, da ich hier kein Ubuntu-System habe, auf dem ich das Problem nachstellen kann.
    Aber ich sehe es mir an.


    Gruß,
    Matze


    PS.: Danke für Deine Geduld und Fehler-Reports !

  • Client:


    Server:

    Code
    1. Jul 29 08:45:41 server WakeMeUp [2160]: [192.168.2.41] Connect.
    2. Jul 29 08:45:42 server WakeMeUp [2160]: [192.168.2.41] OK. Get up at: Tue Jul 29 21:02:00 2008 (WoL)
    3. Jul 29 08:45:42 server WakeMeUp [2160]: [192.168.2.41] Disconnect.


    es liegt wieder an der dash, nachdem ich den /bin/sh wieder auf die bash gelinkt habe fährt der rechner runter.....

  • Hi NemoN,


    laut man-Page der dash ist es identisch zur bash - also 0 bedeutet kein Fehler und ungleich 0 ist ein Fehler.
    Und wenn ich es hier lokal teste, passt das auch genauso.
    Bei dem von Dir geposteten Log ist auch kein Fehler aufgetreten, sodass das Skript mit exit-Status 0 beendet wurde...


    Also ganz ehrlich - ich bin grad ziemlich ratlos :(


    Aber eines kannst Du noch testen - was passiert, wenn Du die letzte if-then-else-Anweisung komplett auskommentierst und stattdessen nur 'exit $STATUS' hineinschreibst ? Vielleicht hat er ein Problem mit dem Logging...


    Gruß,
    Matze

  • Quote

    Original von Matzetronic
    Aber eines kannst Du noch testen - was passiert, wenn Du die letzte if-then-else-Anweisung komplett auskommentierst und stattdessen nur 'exit $STATUS' hineinschreibst ? Vielleicht hat er ein Problem mit dem Logging...


    habe ich probiert, jetzt klappt es auch mit der dash :-)


    grüße
    NemoN

  • Hi NemoN,


    ich habe heute nochmal mit dem Shutdown-Hook unter Ubuntu herumgespielt, um diesen letzten Fehler zu finden.
    Meine Idee war ja, dass das Skript bei der Ausführung von logger irgendwie aussteigt - mit exit-Status 1 anstatt 0.
    Tja, was soll ich sagen - ich hab es nicht hinbekommen, egal, was ich gemacht habe, ich bekam jeweils immer den korrekten exit-Status zurück :(


    Vielleicht hat ja noch jemand eine Idee ?


    Gruß,
    Matze

  • Hi Matzetronic,


    wollte dir einmal ein herzliches Dankeschön für deine tolle Arbeit zukommen lassen :cool1
    Es ist bisher die einzige Wakeupmethode, die bei mir (fast) ohne Probleme funktioniert!
    Weiter so :respekt
    Gruß


    schnitzl

  • Hallo ihr wissenden,


    kann ich da was tuen ?


    root@siduxbox:/usr/local/src/wakemeup# dpkg -i vdr-addon-wakemeup_0.9_i386.deb
    dpkg: Fehler beim Bearbeiten von vdr-addon-wakemeup_0.9_i386.deb (--install):
    Paket-Architektur (i386) passt nicht zum System (amd64)
    Fehler traten auf beim Bearbeiten von:
    vdr-addon-wakemeup_0.9_i386.deb
    root@siduxbox:/usr/local/src/wakemeup#


    Danke im Vorraus

  • vielen Dank für die schnelle Antwort.


    Was macht der Paketinstaller den bei der Clieninstallation ? Welche Dateien kopiert er wo hin ? Das kann ich doch bestimmt nach entpacken des Clientarchives auch selber anpassen.


    Mfg