You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Sunday, February 3rd 2008, 2:38am

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

Hallo,

hier die neue Version meiner alternativen "VDR-Aufwachlösung".

Angefangen hatte es in diesem Thread: [PoC]: WakeMeUp - beliebige (VDR-)Rechner lassen sich per WoL wecken... .
Nunja, entgegen meinem ursprünglichen Willen habe ich mich nun doch noch hingesetzt und das Ganze nochmal gründlich überarbeitet...

Ciao,
Matze



Beschreibung:

WakeMeUp benutzt ausschließlich Wake-on-LAN, um Rechner aufzuwecken.
Das setzt natürlich voraus, dass man einen Rechner zur Verfügung hat, der ständig läuft - bei mir ist das zum Beispiel die Linux-Firewall.
Rein von der Theorie her funktioniert diese Lösung auch über Netzgrenzen (also auch Internet) hinweg - das habe ich allerdings noch nicht getestet.

Edit: Seit Server Version 0.13 bzw. Client Version 0.8 können nun alternativ auch alle vom Programm 'sispmctl' unterstützten USB-Steckdosenleisten angesteuert werden.
Die entsprechende Beschreibung dazu ist in diesem Beitrag zu finden. Leider kann ich den Beitrag nicht mehr bearbeiten, um die nunmehr alten Versionen zu löschen.

(2008-02-23)

Funktionsweise:

Der Client - z.B. ein VDR - baut eine Verbindung zum Server auf, teilt diesem seinen nächsten Aufwachtermin mit und fährt sich anschließend herunter.
Ist der Zeitpunkt erreicht, sendet der Server ein sogenanntes 'Magic'-Paket an die MAC-Adresse vom Client, welcher daraufhin aufwacht.
Der Vergleich mit einem Hotelgast, der die Rezeption mit einem Weckruf beauftragt, trifft zu 100% den Nagel auf den Kopf :-)


Voraussetzungen:

Server
- Perl
- Programm 'at'
- Programm 'arp' oder alternativ: MAC-Adressen fix eintragen

Client
- sinnvollerweise VDR ;-)
- Programm 'netcat'


Installation auf Debian-basierten Systemen:

Server
- apt-get update
- apt-get install perl libgetopt-mixed-perl libsys-syslog-perl at net-tools
- apt-get install wakeonlan (optional)
- apt-get install sispmctl (optional)
- dpkg -i wakemeup-server_0.14_i386.deb
- wakemeup-server --help (für Hilfe zu den Optionen)
- nano /etc/default/wakemeup-server (evtl. Optionen anpassen, ENABLED=1 setzen)
- /etc/init.d/wakemeup-server start

Client
- apt-get update
- apt-get install netcat
- dpkg -i vdr-addon-wakemeup_0.9_i386.deb
- nano /etc/default/vdr-addon-wakemeup (IP des Servers anpassen, ENABLED=1 setzen)


Installation des Servers auf anderen Systemen (ungetestet):
- Perl installieren und folgende Bibliotheken: IO::Socket, Sys::Syslog, Getopt::Long
- arp, at installieren
- wakeonlan installieren (optional)
- sispmctl installieren (optional)
- tar -xzf wakemeup-server_0.14.tar.gz
- cd wakemeup-server-0.14
- cp wakemeup.pl /usr/bin/wakemeup-server
- cp wakeup.pl /usr/bin/wakeup
- wakemeup-server --help (für Hilfe zu den Optionen)


Änderungen seit den letzten Versionen:
- Änderungen an den Timern des Clients werden nun vollständig berücksichtigt (vorher wurde der Client bei nachträglich veränderten Timern auch zu allen anderen Zeiten geweckt)
- Löschen eines Timers auf dem Client hat nun auch ein Löschen auf dem Server zur Folge (wurde vorher gar nicht berücksichtigt)
- nahezu komplette Kontrolle über das Programm 'at' (vorher konnten nur neue Jobs hinzugefügt werden)
- Verbesserungen in den Funktionen zur Berechnung des Aufwachzeitpunkts (vorher gab es teilweise Toleranzen von bis zu 1 Minute)
- Verbesserungen im PID-File-Handling (neu u.a.: Nutzung von Datei-Locks, 'stale' Pidfiles werden erkannt etc.)
- Prozess-Priorität des Dienstes kann beeinflusst werden
- BugFix: Online-Hilfe lässt sich nun auch als normaler User aufrufen
- BugFix: Server läßt sich nun nicht mehr mit nmap o.ä. abschießen (war unschön, aber nicht sicherheitskritisch)
- Logging im Shutdown-Hook hinzugefügt, diverse kleinere Fehler korrigiert
- Sonstiges: Code aufgeräumt, kleinere Fehler korrigiert, Tonnen von überflüssigem Code entsorgt...


Edit: Server-Version 0.14 und Client-Version 0.9 angehangen, Changelog s.u..
(2008-03-10)
Matzetronic has attached the following files:

This post has been edited 14 times, last edit by "Matzetronic" (Mar 11th 2008, 12:44am)


2

Tuesday, February 5th 2008, 7:17pm

Hmm,

heruntergeladen haben ja doch mehr als ich erwartet habe... :-)

Aber da es so still bleibt, muss ich wohl davon ausgehen, dass mein Skript Euren VDR zur Explosion gebracht hat !?? :schiel

Gruß,
Matze

3

Tuesday, February 5th 2008, 8:09pm

Cool! Das könnte ja die lösung für meine SMT sein!
Hab aber leider nur ne Fritzbox SL... könnte man das da auch integrieren? Ich meine als Server...
Alles ist wie immer...nur schlimmer...*mist* :-(


SMT 7020+120Gig-Hdd 2.5", DVD-Brenner an USB2 ----- NATÜRLICH mit GEN2VDR2!!! Echt der hammer!
In Arbeit: Sempron "Sparta" 64 LE1100+MSI K9MM-V+320Seagate HDD SATA, 512MB DDR-2, Case SuperFlower SF101BK

4

Wednesday, February 6th 2008, 12:58am

@ arneproft
wird bei der smt nur klappen wenn du es packts das mainboard so umzulöten das es die wol packets überhaupt annimmt
auf dem board ist nämlich kein saft somit geht das nicht
es ist zwar laut ethtool unterstützt und aktiviert
aber ohne strom geht da nichts

Signatur

Server: ASRock Q1900M + 4GB RAM + cineS2 6.5 + Ubuntu Sever + vdr 2.x , epgsearch, live, dvb-hust, streamdev
Client: Macbook Pro Retina 2013 + 16GB ram 512GB ssd  OSX 10.10 vlc 1.05)
File-Server/client: GA-H_67_N-USB_3-B3 + I3 2105 + 8GB RAM + HD3000 IGP + NVGF 650GTX 1GB, 250 GB-HD (sys)+ 11TB Storage OSX 10.9.5 VLC 1.05 , Remote Buddy, PS3-FB
EHD: D945GCLF2+ 1GB ram, 250gb HDD, mit BM2LTS 1.75A, serial-ir, smt7020s-FB
Cubieboard2: 2x Sundtek DVB-S2, 750GB 2,5 HD, Cubiuntu mit VDR 2.0.6 + epgsearch, live(osdpatch), streamdev(0.6), soft-hd-device
Ausgabe:
Acer H7530D, T.amp Proline1300, 2x K&H sms 54T + horn sub - Eigenbau


gda

Im Forum Zuhause

Posts: 13,257

Location: HH

  • Send private message

5

Wednesday, February 6th 2008, 1:22am

Quoted

Original von arneproft
Hab aber leider nur ne Fritzbox SL... könnte man das da auch integrieren? Ich meine als Server...


Ein Fritz!box und Perl? Da bin ich aber gespannt. Ich schätze mal da geht der SL die Puste
aus.

Gerald

HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 12.04.2, Plex Media Server
Samsung UE55H6470

6

Wednesday, February 6th 2008, 7:47am

aaahhhh, das sind ja gleich 2 schlechte nachrichten... hmmm also denn ist das Thema also nix für mich.
Alles ist wie immer...nur schlimmer...*mist* :-(


SMT 7020+120Gig-Hdd 2.5", DVD-Brenner an USB2 ----- NATÜRLICH mit GEN2VDR2!!! Echt der hammer!
In Arbeit: Sempron "Sparta" 64 LE1100+MSI K9MM-V+320Seagate HDD SATA, 512MB DDR-2, Case SuperFlower SF101BK

7

Monday, February 11th 2008, 3:17pm

Unter Suse 10.3 kommt (auf dem Server) :

Source code

1
...Insecure $ENV{ENV} while running with -T switch ...


Ich habe jetzt in ungefähr Zeile 385 stehen, damit es geht - sonst raucht jedesmal der server ab :

Source code

1
2
3
4
5
6
    # clear path environment as described in the "Perl Taintmode FAQ"
    $ENV{'PATH'} = "";
    # set path environment
    $ENV{'PATH'} = "/usr/local/bin:/usr/bin:/bin:/usr/sbin";
    # untaint for variables
    $ENV{'ENV'} = "";


und es stören die Pfade zu wakeonlan - das heisst unter Suse wol und der Pfad zu arp ist da auch nicht /usr/sbin... - das ist leider alles hart verdrahtet - etwas unschön.

Das Paket wird nun gesendet - nur manchmal wacht die Büchse auf - und manchmal nicht
xbmc0: Asus M4A77D, AMD Athlon 64X2 5600+, Borg HFX 4GB, 2 * Technotrend S2-1600, GeForce 9500 GT 1GB Memory, xbmc 12.2, vdr 2.1.2, vnsi, markad, epg2vdr mcubed HFX Classic
xbmc1: A330ION mit BORG Hfx, 2GB, Satix S2, xbmc 12.2, vdr 2.1.2, vnsi,, markad, epg2vdr HFX mini
amenophis: MSI C847MS-E33, GT610 512MB, TT S2-3200, vdr-2.1.6 +xine, skinenigmang, markad, live, epg2vdr, xbmc 13.0
echnaton:
ASRock FM2A88X Extreme4+ ,Rocketraid 2320, 2*1TB (Raid 1), 6*2TB (Raid 5), 3 * TTS3200 vdr-2.1.6, streamdev, markad,, epgsearch, live, epg2vdr

8

Monday, February 11th 2008, 7:44pm

@magicamun:

Was soll das denn Deiner Meinung nach bewirken

Source code

1
$ENV{'ENV'} = "";
???

Wenn die Pfade bei Dir nicht stimmen, wäre es sehr nett, wenn Du die mal hier postest - dann kann ich sicher auch sagen, was dafür im Environment noch fehlt.


Übrigens heißt das verwendete Programm schon wakeonlan, siehe hier: http://gsd.di.uminho.pt/jpo/software/wakeonlan/.
Ein Programm namens wol finde ich im Debian-Repository gar nicht.


Was meinst Du damit, dass Deine Büchse manchmal aufwacht und manchmal nicht ? Hast Du mal in den Logs nachgesehen ?

9

Monday, February 11th 2008, 8:23pm

Server (Suse 10.3) :

Source code

1
2
3
4
5
6
amun:/usr/local/src # rpm -qa | grep wol
wol-0.7.1-74
amun:/usr/local/src # type wol
wol is /usr/bin/wol
amun:/usr/local/src # type arp
arp is /sbin/arp


warum ich das ENV-Thema machen musste - weil wie gesagt sonst der Server an dieser Stelle abschmirgelte :

Source code

1
2
3
    &logger("WakeMeUp list ...");
    chomp (@list = `/usr/bin/at -l 2>/dev/null`);
    &logger("WakeMeUp list1 ...");


wobei mir die "logger" - Aufrufe beim finden des Problems geholfen haben.


Warum er nur manchmal aufwacht - das hab ich noch nicht rausgefunden - da suche ich noch

Vorschlag für dei Pfade - machs als Parameter in die conf/default
xbmc0: Asus M4A77D, AMD Athlon 64X2 5600+, Borg HFX 4GB, 2 * Technotrend S2-1600, GeForce 9500 GT 1GB Memory, xbmc 12.2, vdr 2.1.2, vnsi, markad, epg2vdr mcubed HFX Classic
xbmc1: A330ION mit BORG Hfx, 2GB, Satix S2, xbmc 12.2, vdr 2.1.2, vnsi,, markad, epg2vdr HFX mini
amenophis: MSI C847MS-E33, GT610 512MB, TT S2-3200, vdr-2.1.6 +xine, skinenigmang, markad, live, epg2vdr, xbmc 13.0
echnaton:
ASRock FM2A88X Extreme4+ ,Rocketraid 2320, 2*1TB (Raid 1), 6*2TB (Raid 5), 3 * TTS3200 vdr-2.1.6, streamdev, markad,, epgsearch, live, epg2vdr

10

Monday, February 11th 2008, 8:50pm

@magicamun:

Ok, wenn Du folgende Zeile

Source code

1
$ENV{'PATH'} = "/usr/local/bin:/usr/bin:/bin:/usr/sbin";
in

Source code

1
$ENV{'PATH'} = "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin";
änderst, sollte er nicht mehr mit "Insecure dependency..." abbrechen.
Dein Code dürfte rein theoretisch gar nichts bewirkt haben, denn Du leerst damit nur eine Umgebungsvariable mit Namen ENV.

Im Übrigen kann man sich bei so etwas temporär behelfen, indem man in der ersten Zeile vorübergehend das große "T" entfernt:
#!/usr/bin/perl -Tw


Zum Debuggen der Anwendung kannst Du den Dienst ja mal per Hand starten und laufen lassen.

Hier mal eine grobe Vorgehensweise:
- Dienst beenden z.B. mittels /etc/init.d/wakemeup-server stop oder kill `cat /var/run/wakemeup-server.pid`
- danach händisch starten: wakemeup-server (Abbruch mit STRG+C)
- auf einem Client folgendes eingeben: echo $[`date +%s`+600] | nc -n 10.1.1.1 9999 (hier natürlich eigene IP und verwendeten Port angeben)
- wenn alles ok ist, die Job-Liste von at aufrufen mit: at -l und den zur eben gesetzten Uhrzeit passenden Job raussuchen (die Nummer)
- Job anzeigen lassen mit: at -c $JOBNUMMER
- Befehlszeile am Ende des Jobs händisch testen

Gruß,
Matze

This post has been edited 2 times, last edit by "Matzetronic" (Feb 14th 2008, 9:39pm)


11

Tuesday, February 12th 2008, 1:12am

Hi,

es gibt wieder ein Update für den Server, aktueller Stand ist jetzt 0.10.


Changelog:
- '/sbin' in die Umgebungsvariable $PATH aufgenommen
- Funktion 'find_executables' hinzugefügt, nun werden benötigte Programme im gesamten Pfad gesucht
- Script 'wakeup' hinzugefügt, sodass 'wakeonlan' jetzt entfallen kann :strike1 (das bischen Magic über UDP versenden kann ich doch auch ohne fremde Programme) :lol2


Gruß,
Matze

This post has been edited 3 times, last edit by "Matzetronic" (Feb 12th 2008, 1:18am)


12

Tuesday, February 12th 2008, 1:14am

@magicamun: kannst Du die neue Version mal testen ? Rein theoretisch sollten damit alle Deine Probleme gelöst sein 8)


Thx,
Matze

This post has been edited 1 times, last edit by "Matzetronic" (Feb 12th 2008, 1:21am)


13

Wednesday, February 13th 2008, 12:22am

*argh*

War doch glatt noch ein Typo in Version 0.10 drin, sodass das alternative wol-Script nicht gefunden werden konnte.

Ist in Version 0.11 gefixt.

Gruß,
Matze

14

Wednesday, February 13th 2008, 6:59am

klasse - mach ich gerne heute Abend - auch wenn es bei mir ja nun prinzipiell in der von mir hingefrickelten Variante tut - feedback kommt.
xbmc0: Asus M4A77D, AMD Athlon 64X2 5600+, Borg HFX 4GB, 2 * Technotrend S2-1600, GeForce 9500 GT 1GB Memory, xbmc 12.2, vdr 2.1.2, vnsi, markad, epg2vdr mcubed HFX Classic
xbmc1: A330ION mit BORG Hfx, 2GB, Satix S2, xbmc 12.2, vdr 2.1.2, vnsi,, markad, epg2vdr HFX mini
amenophis: MSI C847MS-E33, GT610 512MB, TT S2-3200, vdr-2.1.6 +xine, skinenigmang, markad, live, epg2vdr, xbmc 13.0
echnaton:
ASRock FM2A88X Extreme4+ ,Rocketraid 2320, 2*1TB (Raid 1), 6*2TB (Raid 5), 3 * TTS3200 vdr-2.1.6, streamdev, markad,, epgsearch, live, epg2vdr

15

Monday, February 18th 2008, 12:15am

Hi,

und hier wieder eine neue Version für den Server, Stand ist jetzt 0.12.

Changelog:
- Tippfehler in Kommandozeilen-Option 'wakeupbefore' behoben
- Tippfehler in Kommandozeilen-Option 'nicelevel' behoben
- Logging der Prozess-ID verändert, vorher konnte es auf manchen Systemen zu Perl-Warnings kommen

Alles in Allem also nur kosmetische Änderungen...

Gruß,
Matze

This post has been edited 1 times, last edit by "Matzetronic" (Feb 18th 2008, 12:16am)


16

Saturday, February 23rd 2008, 3:41pm

WakeMeUp - Server-0.13 / Client-0.8 mit Support für USB-Steckdosenleisten wie z.B. GEMBIRD SiS-PM

Hi,

es gibt wieder neue Versionen ;)

Ich habe nun noch Support für alle USB-Steckdosenleisten eingebaut, welche vom Programm sispmctl unterstützt werden.

Ich selbst besitze die revolt "Intelli-Plug" Steckdosenleiste mit Ü-Schutz USB von Pearl, die auch unter dem Namen 'GEMBIRD SiS-PM' bekannt ist.

Da ich dieses Feature noch als experimentell bezeichnen würde, hänge ich die entsprechenden Versionen vorerst nur in diesem Beitrag an.
Selbstverständlich funktioniert in dieser Version auch die Wake-On-LAN-Methode weiterhin wie gehabt.

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.

Damit das funktioniert, muss im BIOS des aufzuweckenden Rechners eingestellt sein, dass er nach einem Stromausfall hochfährt.
Bei meinem Rechner (Award BIOS) sieht es so aus:
Power Management Setup
** Power Up Control **
AC PWR Loss Restart: ENABLED

Viel Spaß damit !

Gruß,
Matze
Matzetronic has attached the following files:

This post has been edited 3 times, last edit by "Matzetronic" (Feb 27th 2008, 7:49pm)


17

Wednesday, February 27th 2008, 9:10am

Quoted

Original von magicamun
klasse - mach ich gerne heute Abend - auch wenn es bei mir ja nun prinzipiell in der von mir hingefrickelten Variante tut - feedback kommt.


Wollte nochmal nachfragen, ob es bei Dir mit den neuen Versionen besser geklappt hat ? Hast Du nun schon herausgefunden, warum Dein Rechner nicht immer aufwacht ?

Gruß,
Matze

18

Wednesday, February 27th 2008, 9:43am

Ich hatte mir die alte Version ja "hingefrickelt" - die neue habe ich dann doch nicht wie angekündigt ausprobiert.

Mach ich aber noch - nur nicht mehr diese Woche.

Die Ursache der WakeUP-Probleme liegt ausserhalb des Servers/Clients - das ist ein Hardware-Thema - die Büchse geht zwar "an" - Stromtechnisch - steht dann aber hin - kommt in seltenen Fällen auch mir dem IR-Einschaler vor. Da ich keinen Monitor dranhab, sehe ich in diesen Fällen nie, was wirklich los ist/war - ein Reset hilft dann i.d.R.
xbmc0: Asus M4A77D, AMD Athlon 64X2 5600+, Borg HFX 4GB, 2 * Technotrend S2-1600, GeForce 9500 GT 1GB Memory, xbmc 12.2, vdr 2.1.2, vnsi, markad, epg2vdr mcubed HFX Classic
xbmc1: A330ION mit BORG Hfx, 2GB, Satix S2, xbmc 12.2, vdr 2.1.2, vnsi,, markad, epg2vdr HFX mini
amenophis: MSI C847MS-E33, GT610 512MB, TT S2-3200, vdr-2.1.6 +xine, skinenigmang, markad, live, epg2vdr, xbmc 13.0
echnaton:
ASRock FM2A88X Extreme4+ ,Rocketraid 2320, 2*1TB (Raid 1), 6*2TB (Raid 5), 3 * TTS3200 vdr-2.1.6, streamdev, markad,, epgsearch, live, epg2vdr

19

Thursday, March 6th 2008, 12:00am

hi,

ich hatte nun hier und da mal einige kleine Probs mit dem Hack.
Soweit ich das verstehe, wird *nur* ein Job erstellt, wenn der vdr runterfaehrt, der die naechste Startzeit enthaelt?

Ich habe automatisch erstellte Timer aus Suchworten im EPG und nur einen Job in der Liste.

EON hatte heute ein wenig am Netz gebastelt und oefter mal den Strom abgestellt. Da is der vdr nicht wieder aufgewacht.

Hast Du nicht Lust ein Realtime-Update der Jobliste daraus zu basteln? :)
(ie. bei Timererstellung gleich einen Job generieren)
Ich weiss, das erfordert etwas mehr Verwaltungsaufwand, weil die Jobnummern eben nix mit der Timerliste zu tun haben...

Waer schon was....
Gruss...

20

Thursday, March 6th 2008, 4:32pm

Quoted

ich hatte nun hier und da mal einige kleine Probs mit dem Hack.

Wäre interessant zu wissen, was das für Probleme waren/sind, damit ich sie ggf. fixen kann.


Quoted

Soweit ich das verstehe, wird *nur* ein Job erstellt, wenn der vdr runterfaehrt, der die naechste Startzeit enthaelt?

Ja.
Das ist ja ein shutdown-hook, und da gibts halt immer nur den nächsten Timer - ist bei anderen Lösungen (z.B. nvram-wakeup) genauso.


Quoted

EON hatte heute ein wenig am Netz gebastelt und oefter mal den Strom abgestellt. Da is der vdr nicht wieder aufgewacht.

Hmm, aber das ist doch kein Problem mit dem Skript, sondern eine Frage der BIOS-Einstellung (siehe weiter oben: Power Up Control) - oder habe ich das falsch verstanden ?


Quoted

Hast Du nicht Lust ein Realtime-Update der Jobliste daraus zu basteln?

Hmm, die Lust steigt bei mir immer annähernd linear zum Feedback - und im Moment bin ich nicht grad hoch motiviert ;)

Ich sehe eigentlich keinen Sinn darin, die Timer sofort beim Erstellen auf den Server (wakemeup) zu schreiben und dann auch noch alle... (bei nvram ginge letzteres auch gar nicht)

Aber ich kann Dir vielleicht eine Quick-and-Dirty-Lösung anbieten, die periodisch (z.B. per cron alle 5 Minuten) den nächsten Timer ausliest und sofort im Server setzt.
Würde das ausreichen ?

Gruß,
Matze

This post has been edited 1 times, last edit by "Matzetronic" (Mar 6th 2008, 4:35pm)