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

  • hi..,


    okay, das war falsch formuliert! Natuerlich ist nicht das Script schuld!! :) Mitnichten. Sondern dessen Umgebung.


    Erstmal der Energieversorger, der den Saft abstellte - Dann kann natuerlich gar nix gehen *G


    Dann hatte ich Probs mit zwar gesyncten Uhren, jedoch 1Std. Zeitunterschied (CET/UTC)


    Und zuguter Letzt funktionierte das wol nicht mehr, weil der vdr in einen Schlafmodus verfiel, aus dem er nicht mehr geweckt werden wollte (PowerLED war jedoch an)


    Also hausgemachtes, weshalb ich auch nicht naeher auf die Fehler einging.


    Die CronJob-Loesung gefaellt mir aber gut! Quasi zusaetzlich zum hook. Da wuerden selbst Dinge wie Stromausfall keine Rolle mehr spielen!


    Danke schonmal.. Gruss, Blogga

  • Hi blogga,


    trage mal die folgende Zeile in Deine "/etc/crontab" ein:

    Code
    1. */5 * * * * root TIMER=`svdrpsend next abs 2>/dev/null | grep ^250 | awk '{print $3}' | grep -v ^[0..9] | tr -d '\r'`; test -n "$TIMER" && /bin/bash /usr/share/vdr/shutdown-hooks/S99.wakemeup $TIMER &>/dev/null


    Das sollte dann eigentlich alle 5 Minuten den jeweils nächsten Timer auslesen und zum Server senden. Falls etwas nicht funktioniert, melde Dich nochmal...



    Quote

    .....Da wuerden selbst Dinge wie Stromausfall keine Rolle mehr spielen!


    Ich glaube, da irrst Du Dich.
    Schick Deinen Rechner mal schlafen, entferne das Stromkabel für einige Sekunden (10 oder mehr), stecke es dann wieder ein und sende dem Rechner dann mal ein WoL-Paket.
    Ich bezweifle, dass er dann aufwacht. Die einzig funktionierende Lösung ist die bereits erwähnte BIOS-Einstellung.


    Gruß,
    Matze

  • Hallo Matzetronic,


    ich habe gerade mit großem Interesse mir diesen Thread durchgelesen, dabei bin ich über die USB Stromleiste gestossen. Aber folgendes Zitat will sich in meinem Hirn einfach nicht deknoten:


    Quote

    Original von Matzetronic
    Ich habe lange überlegt, wie ich es hinbekomme, dass ich diese USB-Leiste zum Aufwachen benutzen kann UND den VDR trotzdem auch zwischendurch einschalten kann - denn das ginge ja bei ausgeschalteter Steckdose nicht...
    Die einzige Lösung, die mir sinnvoll erschien, ist die Steckdose unter Strom zu lassen und sie lediglich 1 Minute vor dem Aufwachtermin abzuschalten.
    Zum Aufwachtermin wird sie dann natürlich wieder eingeschaltet.


    Wieso lässt du die Stromleiste bis 1 Minute vor dem Start unter Strom und schaltest dann aus, dann setzt du ja vorraus das das System per WOL wieder gestartet wird richtig?


    Mal mein Beispiel. Ich habe ein IMON USB bei mir eingebaut. Das lässt ein starten des Rechners über die Powertaste der Fernbedienung zu. Also wäre es doch sinnvoll, nach einer Aufnahme den Rechner runterzufahren und dann den Strom abzuschalten. 1 Minute warten und dann wieder einschalten und der Rechner startet dann nicht sofort sondern wartet auf den Einschlatbefehl der FB oder manuel über den Powertaster?


    Oder hab ich das Prinzip falsch verstanden?


    cu
    xpix

  • Hi xpix,


    cooles Wort, deknoten :D


    Ok, ich versuche mal zu erläutern, wie meine Situation hier ist und weshalb ich es so umgesetzt habe...


    Der Server-Dienst läuft auf meiner Firewall, welche im Arbeitszimmer steht, an dieser ist auch die USB-Leiste angeschlossen.
    An einem Port dieser Leiste hängt mein Wohnzimmer-VDR.
    Da ich an der Firewall nichts weiter dran habe, müsste ich mich ja jedesmal per SSH auf der Firewall einloggen, um den Wohnzimmer-VDR einzuschalten - kommt also für mich gar nicht in Frage :)


    Würde ich die Steckdosenleiste (also den VDR) bis zum nächsten Timer abschalten, könnte ich den VDR ja zwischendurch gar nicht benutzen.
    Daher kam die Idee, dass ich die Stromleiste bis kurz vor dem Timer unter Strom lasse, für 1 Minute abschalte und dann zum Timer wieder ein.
    Der VDR ist so eingestellt, dass er nach einem Stromausfall automatisch hochfährt und das funktioniert hier auch wunderbar.


    Übrigens, bei allen meinen Rechnern ist es so, dass sie nach einem Stromausfall nicht über WoL aufzuwecken sind - sie brauchen immer erst einen Reboot. Aus diesem Grund habe ich auch bei allen meinen Systemen die Option "Power after AC loss" eingeschaltet.
    (Vielleicht kann das ja noch jemand bestätigen ?)


    Ich hoffe, ich konnte mich verständlicher ausdrücken !?? ;)


    Gruß,
    Matze



    Edit:


    Kleine Ergänzung noch zum Schluß.
    Das Aufwachen mittels USB-Steckdosenleiste funktioniert ohne Netzwerk und Wake-on-LAN - die beiden Methoden sind völlig unabhängig voneinander !


    Ich war nur zu faul, ein extra Software-Paket für die USB-Leisten-Lösung zu bauen...

  • Hi,


    ich nochmal.
    Mir ist gerade eben noch ein kleiner, aber unschöner Bug eingefallen, den die USB-Leisten-Version hat.
    Wenn der VDR vor einem Timer bereits an ist, würde er ja 1 Minute vor Beginn der Aufnahme trotzdem ausgeschaltet werden *argh*


    Bugfix dazu kommt diese Woche noch...


    Gruß,
    Matze

  • Hi,


    neue Versionen: Server 0.14 und Client 0.9 sind im ersten Posting verfügbar.


    ChangeLog:


    - BugFix: USB-Leiste wurde immer ausgeschaltet, auch wenn der damit verbundene PC lief
    - überflüssige Steuerzeichen (0D hex) werden nun vom übergebenen Timestamp entfernt (Client)



    Gruß,
    Matze

  • hi.


    Ich habe gerade versucht herauszufinden, wie ich eine IP-basierte Steckdosenleiste (um genau zu sein: InfraTec PM8-IP) einbauen kann. Die Steckdosenleiste anzusprechen ist recht einfach, das folgende reicht aus:


    wget -O /dev/null 'http://<ip>/switch?u=<user>&p=<password>&o=<outlet>&f=<function>'


    Wobei in diesem Fall <function> entweder "on" oder "off" ist. IP, User und Passwort sowie Outlet sollte der Client vorgeben können, alternativ wäre eine Config auf dem Server, die zu einem Client-Token (zum Beispiel dessen IP) die nötigen Parameter auflistet (im Grunde wäre das sogar die bessere Lösung).
    Aber um ehrlich zu sein, irgendwie habe ich es zumindest auf die Schnelle nicht hinbekommen, das bei Deinem Script einzubauen (daher simuliere ich momentan sispmctl (unvollständig), was aber noch ungetestet ist und wahrscheinlich nicht korrekt funktioniert).


    Kannst Du das hinbekommen?


    Ciao,
    Sven

  • Hi.


    Ärgerlich: Der Server hat jetzt mehrfach einen Fehler geloggt:


    May 11 04:08:05 geode [32301]: wakemeup: [192.168.1.5] Couldn't add WakeUp time!
    May 11 04:08:05 geode [32301]: wakemeup: [192.168.1.5] Disconnect.


    Dummerweise hat der shutdown-Hook auf Seiten meines VDR nichts davon bemerkt und sich trotzdem ausgeschaltet. Dadurch habe ich schon mehrere Aufnahmen verpasst.


    Irgendeine Idee, woran das liegen könnte? Bzw. wie der Client etwas von dem Fehler mitbekommen könnte, um den Shutdown zu vertagen?


    Das seltsame ist, dass es eine ganze Weile funktioniert hatte und dann plötzlich nicht mehr.


    Ciao,
    Sven

  • I gotta thank you for your excellent job, it put it on a WD MyBook NAS and it's working good!!!


    :lovevdr


    When i was thinking how to start my VDR using WOL i thought to your same way and when i found this topic i understood that it was what i was looking for.


    Well, your scripts are not perfect (or better for universal Linux systems) since i was tricking a lot to adapt it to my Linux version.
    In fact, your scripts are completely based on a Debian system and if your own system i not based on any distro out there but simply uses the kernel and some package you have a lot to do to fix it.


    If we had these scripts indipendent of any distro they could be very interesting for anyone using any type of embedded device (router, NAS, pc, etc) easy to run.


    Once again, thank you for all the great job you put here,


    Gringo

  • Dear Gringo,


    Quote

    I gotta thank you for your excellent job, it put it on a WD MyBook NAS and it's working good!!!


    Thanks ! I like to hear that :)


    Quote

    Well, your scripts are not perfect (or better for universal Linux systems) since i was tricking a lot to adapt it to my Linux version.
    In fact, your scripts are completely based on a Debian system and if your own system i not based on any distro out there but simply uses the kernel and some package you have a lot to do to fix it.


    If we had these scripts indipendent of any distro they could be very interesting for anyone using any type of embedded device (router, NAS, pc, etc) easy to run.


    Ok, i understand the problem, but i only have Debian based systems and no embedded devices like your NAS.


    You could send me all the changes if you want. Then i'll try to make it system independent for use with other distributions. My email address is: <matzetronic at gmx dot de>.


    Quote

    Once again, thank you for all the great job you put here,


    My pleasure ! :)


    Regards,
    Matze



    PS.: Sorry for my poor english :schiel

  • Hallo


    Gibt, ja diese Webseiten, um Kisten via WOL zu wecken.


    Auf http://www.rshut.com/products/wol/ kann man sogar die Zeit, mit unter jubeln.


    Schaut auf der Konsole so aus:


    Code
    1. shell> lynx -dump http://www.rshut.com/products/wol/?mobile=0&ip=adresse.dyndns.org&mac=AA-BB-CC-DD-EE-FF&schedule=07%2F04%2F08+01%3A36+PM&timezone=2 Schedule on: 07 04 08 01 36 PM Schedule on: 07/04/08 01:36 PM


    Hätte, den Vorteil, man bräuchte, noch nicht einmal, einen zweiten PC zum wecken.


    Nachteil, man müßte immer Online sein, in Zeiten von DSL/FLAT kein Thema.


    Villeicht, wäre das noch eine Ergänzung, für Dein Skript.


    -------------


    Portfreigabe, im Router muß man setzen.


    LG Ronny

  • Hallo


    Mal fix in einen Schnippsel gepackt.



    -----------------------


    Später.


    So, nun mal getestet, klappt Prima.


    Code
    1. Jul 03 2008 22:23 (GMT+2) - Wakeup is scheduled for bashy.dyndns.org
    2. (after 5 h 41 min.)


    Problem, meine Kisten können alle Suspend / ACPI etc...


    LG Ronny

  • Hi Ronny,


    grundsätzlich ist das eine nette Idee, um sich den eigenen Server zu sparen - wusste gar nicht, dass es sowas gibt...


    Jetzt kommt das große ABER ;)
    Das Problem wird bei den meisten sein, dass sie keine Möglichkeit haben, auf dem Router die MAC-Adresse des aufzuweckenden Clients fest einzutragen.


    Das bedeutet, dass der Router eine ARP-Anfrage nach der zur IP gehörenden MAC-Adresse stellt - keine Antwort bekommt - und deshalb das WoL-Paket nicht zum Client übermittelt...


    Also ich kann das gern einbauen - das wird aber wie gesagt bei den meisten nicht funktionieren, weil der ARP-Eintrag nach einer Stunde oder so wieder weg ist...


    Gruß,
    Matze

  • Morgen


    Tatsache, auch mal früh auf die Box geschaut, VDR Kiste war nicht mehr in der Liste.


    Mal ein wenig im Internet geschaut, es gibt wohl Router, mit denen man einen Statischen Arp Eintrag setzen kann.


    Für die meisten Fritz Boxen, gibt es Hacks.


    LG Ronny

  • ich habe mir heute mal die aktuelle version installiert:


    Server (debian)
    Client (ubuntu)


    Leider klappt das setzen der Timer nicht, ich bekomme folgenden Fehler auf dem Server:


    Code
    1. Jul 11 18:31:30 server WakeMeUp [6455]: Server v0.14 started.
    2. Jul 11 18:41:00 server WakeMeUp [6455]: [192.168.2.41] Connect.
    3. Jul 11 18:41:01 server WakeMeUp [6455]: [192.168.2.41] Wrong input!
    4. Jul 11 18:41:01 server WakeMeUp [6455]: [192.168.2.41] Disconnect.
  • Hi NemoN,


    sorry, dass ich erst so spät antworte aber leider geht die E-Mail-Benachrichtigung mal wieder nicht und so habe ich Deinen Beitrag nur durch Zufall entdeckt :(


    Kannst Du mal folgendes Kommando auf dem Client ausführen und die Ausgabe hier posten:

    Code
    1. echo -en "`date +%s`\r\n" | /bin/netcat -vvn -i 1 -q 2 -w 3 IP_DES_SERVERS 9999


    Gruß,
    Matze

  • damit gibt es eine andere meldung:


    Client:

    Code
    1. root@vdr:~# echo -en "`date +%s`\r\n" | /bin/netcat -vvn -i 1 -q 2 -w 3 192.168.2.2 9999
    2. (UNKNOWN) [192.168.2.2] 9999 (?) open
    3. Timestamp value is in the past!?
    4. root@vdr:~# date
    5. Do 17. Jul 11:26:58 CEST 2008
    6. root@vdr:~#


    Server:

    Code
    1. Jul 17 11:26:48 server WakeMeUp [2030]: [192.168.2.41] Connect.
    2. Jul 17 11:26:49 server WakeMeUp [2030]: [192.168.2.41] Timestamp value is in the past!?
    3. Jul 17 11:26:49 server WakeMeUp [2030]: [192.168.2.41] Disconnect.
  • Mist - mein Fehler.


    Die Zeit muss natürlich in der Zukunft liegen, also sollte das Kommando so hier lauten:

    Code
    1. echo -en "$[`date +%s`+900]\r\n" | /bin/netcat -vvn -i 1 -q 2 -w 3 192.168.2.2 9999


    Gruß,
    Matze