   



   Wake On Lan-Timer Version 1.10                                14.01.05
   ******************************



Das Plugin dient dazu einen PC mit Wake-On-Lan fhiger Netzwerkkarte 
vor der Aufnahme zu starten und nach der Aufnahme wieder runterzufahren.
Gedacht ist das Plugin fr DBOX2 mit Neutrino und einem PC mit NFS-Server.
Enigma wird vorerst nicht untersttzt.



Die Features:

Das Plugin erkennt automatisch von Neutrino gesetzte Aufnahmetimer.
Starten des PSs vor der Aufnahme ber ein WOL-Packet.
Mounten aller Verzeichnisse die in Neutrino auf "beim Start mounten" gestellt sind.
Herunterfahren des Rechners wenn zur nchsten Aufnahme ein bestimmbarer zeitlicher Abstand liegt.
Bei der nchsten Aufnahme erneutes Starten.
Falls das Mounten der Verzeichnisse fehlschlgt wird zur Sicherheit das Timer-File gelscht und die Box heruntergefahren.
Das bedeutet, da nach fehlgeschlagener Aufzeichnung die Eintrge neu vorgenommen werden mssen!!!
Macht aber anders auch wenig Sinn, denn das Mounten wird beim nchsten mal wohl auch nicht funktionieren.

Wenn mehrere Boxen auf das selbe Aufnahmeverzeichnis zugreifen, dann wird mittels einer Kontrolldatei 
users.log verhindert, da eine Box den Rechner runterfhrt. In der Datei wird die jeweilige IP der Box hinterlegt.
Wenn sich eine Box abmeldet lscht sie ihre IP aus der Datei und erst die sich zuletzt abmeldende Box kann den Rechner
runterfahren. Die ist zwar ein gewisses Mass an Schutz, aber kein 100%iger. Denn befindet sich eine Box grad im Wake Up-
Status wenn eine andere beginnt, den Rechner herunterzufahren, dann knnte es knapp werden. Eine lngere START_OFFSET kann Abhilfe schaffen, da dann unter Umstnden genug Zeit vorhanden ist, um den Rechner neu zu starten.

Generell sollte ein Verlngern einer laufenden Aufnahme abgefangen werden, allerdings kann es zu Bildstrungen in der Aufnahme kommen. Es empfiehlt sich auf jeden Fall den WOL-Timer in solch einem Fall zu deaktivieren!


Mittels zweier Dateien :
/var/plugins/woltimer/.start_pc    (Wake Up)
/var/plugins/woltimer/.stop_pc     (shutdown)
kann der Pc hoch bzw. runtergefahren werden. Existiert die Datei .start_pc wird bei geladenem Plugin ein WOL-Packet an den Rechner geschickt und die entsprechenden Laufwerke gemountet, genau wie beim Starten einer Aufnahme.
Wenn .stop_pc existiert, so wird versucht den PC runterzufahren, vorrausgesetzt es steht in den nchsten Minuten kein Aufnahmetimer an, dann bleibt der PC an und ein Hinweis kommt.
Die beiden Dateien werden nach Ausfhren von start oder stop automatisch gelscht.
Dies dient dazu, mittels Plugin (ist noch in Arbeit), oder ber unser flexibles Menplugin direkt den PC zu steuern.
Dafr mu allerdings woltimerd (Dmon) einmal gestartet sein, dies geschieht ber Plugin-Taste, kann aber auch dauerhaft durch eintrag in die /etc/init.d/start_neutrino erfolgen.

Mittels der Datei
/var/plugins/woltimer/.recs
kann der WOL-Timer dazu veranlasst werden, Informationen ber das Aufnahmeverzeichnis auszugeben.

Wird in der Timerliste ein Erinnerungstimer erstellt, der als Text:
WOL:
am Anfanng stehen hat, und dem ein Befehl oder Scriptaufruf folgt,
so wird das zum entsprechenden Zeitpunkt ausgefhrt. Dies ist unabhngig davon ob der WOL-Timer aktiv oder inaktiv ist. Der WOL-Timer Dmon mu nur einmal gestartet sein.

Beispiel :
Erinnnerungstimer fr 12.12.04 - 22Uhr
WOL:ls -l
wrde um 22Uhr das aktuelle Verzeichnis im COM-Log auflisten.


Um den WOL-Timer aus dem felxiblen Men Plugin heraus zu nutzen hier ein Kleines Menbeispiel:

MENU=WOL-TIMER
	DEPENDOFF=*WOL-Timer aktivieren,/var/plugins/woltimer/woltime,/var/plugins/woltimer/.wol
	DEPENDON=*WOL-Timer inaktivieren,/var/plugins/woltimer/woltime,/var/plugins/woltimer/.wol
	ACTION=*Aufnahmeverzeichnis Status,/var/plugins/woltimer/recstat
	ACTION=PC starten,/var/plugins/woltimer/pcstart
	ACTION=*PC runterfahren,/var/plugins/woltimer/pcstopp
	SHELLRESON=WOL-Timer Dmon deaktivieren,killall woltimerd,pidof woltimerd > /dev/null
	SHELLRESOFF=WOL-Timer Dmon aktivieren,/var/plugins/woltimerd,pidof woltimerd > /dev/null
ENDMENU	



Ab Version 1.20 ist die Funktion Extra-Start integriert um beliebige Gerte anzusteuern.
Hierzu ist aber eine extra Readme im ExtraStart Verzeichnis.




************************************************************************
WICHTIG !!!!! bitte die readme komplett lesen und alles exakt befolgen, 
              am Besten schritt fr schritt
************************************************************************

Vorraussetzungen:
-----------------

DBOX:

Neutrino Image
mindestens ein Verzeichnis, auf welches beim Start ein vom NFS-Server bereitgestelltes Laufwerk/Verzeichnis gemountet wird.
Alle Mounteintrge die bei "Beim Start mounten" auf "ja" stehen mssen auch bei laufendem Rechner mountbar sein, ansonsten bricht der WOL-Timer die Aufzeichnung ab!!!


Rechner:

Der Rechner mu mit einer Wake-On-Lan fhigen Netzwerkarte ausgerstet sein, die
ihn immer wieder starten kann. Dies muss sichergestellt sein!!!
Bei meinem Rechner funktioniert das leider nur beim ersten mal nach Netztrennung.
Deswegen werd ich mir was einfallen lassen mssen.

Der Rechner muss ein Windows Betriebssystem haben. Getestet wurde bisher bei mir
Windows2000. 
Das Betriebssystem muss ohne Passwortabfrage bis ins Desktop hochfahren.
Der Rechner mu sich beim Herunterfahren selbststndig ausschalten.
Auf dem Rechner muss ein NFS-Server installiert sein, der Laufwerke/Verzeichnisse fr
die Box freigibt.
Das mounten der Freigaben muss bereits vor der Installation von WOL-Timer problemlos funktionieren!!!


##################################


Installation 
-------------

DBOX:



Nun sollte man sich entscheiden, ob man das Plugin mit den beiliegenden Shellstartern bedienen will( B) ), was allerdings 40kB allein fr diese verbraucht, oder ob man das ganze ber das Felxible Plugin Men steuern will ( A) ). Letzteres ist einiges komfortabler und man spart sich den Platz.


A)

Fr die Flexible Plugin-Version ein kleines Beispiel-Men:

MENU=WOL-TIMER
	DEPENDOFF=*WOL-Timer aktivieren,/var/plugins/woltimer/woltime,/var/plugins/woltimer/.wol
	DEPENDON=*WOL-Timer inaktivieren,/var/plugins/woltimer/woltime,/var/plugins/woltimer/.wol
	ACTION=*Aufnahmeverzeichnis Status,/var/plugins/woltimer/recstat
	ACTION=PC starten,/var/plugins/woltimer/pcstart
	ACTION=*PC runterfahren,/var/plugins/woltimer/pcstopp
	SHELLRESON=WOL-Timer Dmon deaktivieren,killall woltimerd,pidof woltimerd > /dev/null
	SHELLRESOFF=WOL-Timer Dmon aktivieren,/var/plugins/woltimerd,pidof woltimerd > /dev/null
ENDMENU	



B)

hier mssen folgende Shellstarter installiert werden:
 
woltimer.cfg        \
woltimer.so         -  (aktivieren / inaktivieren des WOL-Timer Dmons)

pcstart.cfg         \
pcstart.so	    -  (starten des PCs)

pcstopp.cfg         \
pcstopp.so          -  (runnterfahren des PCc)

pc__recstat.cfg     \
pc__recstat.so	    -  (Statusanzeige des Aufnahmeverzeichnisses)


Die Dateien mssen nach 

/lib/tuxbox/plugins/      (in Images mit beschreibbarem root Bereich (JFFS2 only)
/var/tuxbox/plugins/      (in Images mit schreibgeschtzenen root Bereich (CRAMFS/SQUASHFS)

die *.so mssen Ausfhrrechte (744) erhalten! 



Die Dateien 

woltimerd
woltime
woltimer.conf    (sollte vorher angepasst werden! siehe Einstellungen DBOX weiter unten)
rscript
recstat
pcstart
pcstopp


mssen ins Verzeichnis

/var/plugins/woltimer    (falls dieses nicht vorhanden ist, muss es erstellt werden!)

die Dateien mssen Ausfhrrechte haben (744)!



Die Datei nc beinhaltet momentan noch eine ganz abgespeckte busybox in der nur netcat und cat 
eingebettet ist. Bisher habe ich noch keine andere Mglichkeit gefunden netcat zu compilieren,
ich hoffe das wird aber in den nchsten Tagen kommen.
Wenn jemand eine Busybox hat in der bereits nc mit reincompiliert ist, kann man sich diese 
Datei sparen, ansonsten sollte sie nach

/bin/

Wenn dieses Verzeichnis nicht beschreibbar ist, dann kann die Datei auch nach /var/bin/ oder
beliebig, wichtig ist:
wenn sie nich nach /bin kommt, dann muss in der woltimer.conf der Pfad gendert werden.
Ausserdem braucht nc die Ausfhrrechte (744)!


############################################

Einstellungen DBOX (woltimer.conf):


MAC_ADRESS=00:11:22:33:44:55    <- hier muss!!! die MAC Adresse der Netzwerkkarte im Rechner hin

PC_IP=192.168.0.1		<- hier muss!!! die IP-Adresse des NFS-Server Rechners hin

NETCAT_PORT=23			<- hier steht der Port ber den netcat zum Rechner verbindet

NETCAT_PFAD=/bin/nc		<- hier steht der Pfad zu nc

WOL_PASSWD=			<- falls die Netzwerkkarte in WOL-Passwort bentigt

START_OFFSET=6			<- Minuten vor Aufzeichnugsbeginn fr Wake On Lan

STOP_OFFSET=1			<- Minuten die woltimer lnger als die Aufzeichnung im Schlafmodus bleibt

MOUNT_OFFSET=3			<- Minuten ab dem Wake On Lan bis versucht wird die Verzeichnisse zu mounten

DOWN_DISTANCE=20		<- Minuten die zwischen 2 Aufzeichnungen liegen mssen, fr zwischenzeitlichen shutdown

INTERVAL=10			<- Sekunden Abfrage-Interval fr Timerliste usw.

OSD=1				<- On Screen Display : 1=an, 0=aus (nur noch ber Console)

FORCE_ON=0			<- inaktiv Schaltung nach Aufnahmeende 

MOUNT_CHECK=1			<- Ein und ausschalten der Mount-berprfung (vorhandesein von wolcheck)

WAKE_MODE=wol			<- Aufnahmegert wecken mit Wake-On-Lan (wol) oder Mount-Gesuch (mount)

START_COMMAND=			<- steht hier ein Systembefehl, so wird dieser anstelle des Wake On Lan Packetes zum Starten ausgefhrt

SHUTDOWN_COMMAND=		<- steht hier ein Systembefehl, so wird dieser anstelle des shutdowns per nc ausgefhrt

DOWN_COUNT=5			<- Die Anzahl der Versuche den PC runterzufahren



MAC_ADRESS=00:11:22:33:44:55   
----------------------------

Diese ist unbedingt erforderlich, damit Wake on Lan berhaupt funktioniert!!!
In Windows erhlt man die zum Beispiel so:

[START] -> [AUSFHREN] -> cmd [RETURN]

dann

ipconfid /all [RETURN]

Physikalische Adresse........... : 00-11-22-33-44-55  (MAC-Adresse)

In der woltimer.conf mu das allerdings mit Doppelpunkten anstelle der Bindestriche eingetragen werden!!!
Wenn dieser Eintrag nicht korrekt ist, funktioniert woltimer nicht!!!



PC_IP=192.168.0.1		
-----------------
IP-Adresse des PCs, drfte klar sein, oder?



NETCAT_PORT=23			
--------------
Der Port auf dem netcat versucht zum netcat-server auf dem PC Verbindung aufzunehmen. Dieser mu mit den
Einstellungen auf dem PC bereinstimmen!!!



NETCAT_PFAD=/bin/nc	
-------------------
Der Pfad wo nc (netcat) auf der Box zu finden ist.


WOL_PASSWD=			
------------
falls die Netzwerkkarte in WOL-Passwort bentigt.


START_OFFSET=6	
--------------
Hier steht die Zeit in Minuten, die woltimer das Wake on Lan Packet vor Aufzeichnungsbeginn an den PC sendet.



STOP_OFFSET=1	
-------------
Minuten die woltimer lnger als die Aufzeichnung im Schlafmodus bleibt. Der Schlafmodus ist ntig um die Aufnahme
nicht zu stren!



MOUNT_OFFSET=3
--------------
Minuten ab dem Wake On Lan bis versucht wird die Verzeichnisse zu mounten. In dieser Zeit sollte der PC fertig 
hochgefahren sein! 


DOWN_DISTANCE=20
-----------------
Minuten die zwischen 2 Aufzeichnungen liegen mssen, damit der Rechner zwischenzeitlich runtergefahren wird.
wird hier 0 eingetragen, fhrt der Rechner erst nach der letzten Aufzeichnung runter!


INTERVAL=10
------------
Die ist der Abfrageinterval den woltimer bis zur nchsten Abfrage der Timer und Configdateien wartet um das System
nicht zu sehr zu belasten.


OSD=1
-----
On Screen Display : 1=an, 0=aus (nur noch ber Console)


FORCE_ON=0	
----------
Standartmssig geht woltimer nach der letzten Aufzeichnung in den Standby-Modus und mu fr das nchste mal wieder
aktiviert werden. Dieser Standby-Modus kann hier mit einer 1 unterbunden werden. Das kann sich aber negativ auswirken
wenn eine Aufzeichnung direkt aus dem Blautastenmen heraus startet. Wenn es dumm luft erkennt nmlich erst nach 
einmal der Intervallzeit, da eine Aufnahme aktiv ist. Dann wird die Aufnahme kurz gestrt. woltimer geht zwar sofort
in den Standby, aber man kann dies ja durch gezieltes Einschalten des woltimers unterbinden.


MOUNT_CHECK=1
-------------
Ein und ausschalten der Mount-berprfung durch Leseversuch der wolcheck Datei im Aufnahmeverzeichnis. Dies ist vorallem fr Aufnhamen mit z.B. Jack The Grabber gedacht,
bei denen dieses Verzeichnis nicht zwingend gemountet wird.
0= berpfrfung aus
1= berprfung an.
Ist die Prfung abgeschaltet, so wird das Starten des PCs nur noch anhand von Pings berprft.


WAKE_MODE=wol
-------------
Dieser Schalter ist noch testphase, er dient dazu Netzlaufwerke die nicht per Wake On Lan sondern per Mount-Gesuch gestartet werden zu wecken.


START_COMMAND=
--------------
steht hier ein Systembefehl, so wird dieser anstelle des Wake On Lan Packetes zum Starten ausgefhrt.


SHUTDOWN_COMMAND=
-----------------
Falls hier ein Systembefehl steht, so wird dieser anstelle des Netcat shutdowns zum
runterfahren des Aufnahmegertes ausgefhrt


DOWN_COUNT=5			
-------------
Die Anzahl der Versuche den PC runterzufahren bis der Versuch als Misslungen abgebrochen wird. Minimum sind 5 versuche, ist der PC vorher schon runtergefahren wird als Erfolgreich
vorher schon beendet.





Alle oben eingetragenen Zeitwerte sind Mindestwerte die, wenn sie unterschritten werden von woltimer so berschrieben werden. Diese Werte haben sich in der Art als am sinnvollsten erwiesen!


Ich empfehle erst alle Aufnahme-Eintrge zu machen und dann den Wake On Lan-Timer zu aktivieren, dann kommts nicht zu
nem Kuddelmuddel.





Installation PC
---------------

Wichtig ist wie schon gesagt, da der PC ohne Passwortabfrage bis ins Desktop hochluft und beim Runterfahren sich 
selbststndig ausschaltet.
Auf dem Rechner muss ein NFS-Server installiert sein, dessen Freigaben auch bereits von der DBOX2 gemountet werden knnen!





In Aufnahme Verzeichnis auf dem Rechner, welches von der Box beim Start automatisch gemountet werden muss, muss die Datei "wolcheck". Das ist eine leere Datei. Sie wird von woltimer versucht zu ffnen um das Mounten zu berprfen, falls MOUNT_CHECK nicht =0 ist.



Ab hier kann nun neuerdings ein automatisiertes Installationsscript von DocQ verwendet werden (PC_wol_autoinst_2k_xp.rar). Wenns Probleme gibt, dann kann weiterhin nachfolgende Anleitung genutzt werden. Habe leider DocQs Anleitung verlegt und mu mir da nochmal was besorgen.



Die weitere Anleitung habe ich mir von Dr. Stoned entliehen, ich hoffe er hat nichts dagegen!

******************
************************

Diese Installation bezieht sich auf WIN 2000, funktioniert aber auch mit WIN XP, die Unterschiede sind im Text enthalten.

1.Shutdown einrichten: 

shutdown.zip entpacken, shutdown.bat kommt nach C:\WINNT, shutdown.exe nach C:\WINNT\SYSTEM32. Habt Ihr ein Windows XP am laufen, braucht Ihr die shutdown.exe nicht, sie ist schon im System enthalten. Wenn Ihr andere Pfade verwenden wollt, msst Ihr die shutdown.bat anpassen, allerdings keine Garantie, ob es dann funktioniert. Bei WINXP mssen auch smtliche Pfade in den Dateien shutdown.bat, NetCat.reg, NetCat_inst.bat und NetCat_rem.bat anpasst werden, da das Verzeichnis hier C:\Windows heit.

2. Installation des Services fr Netcat:

Alle Dateien aus nc-service.zip kommen nach c:\WINNT. Wenn Ihr ein anderes Verzeichnis verwenden wollt, msst Ihr die Pfade in den Dateien NetCat.reg, NetCat_inst.bat und NetCat_rem.bat anpassen.
Dann netcat_inst.bat ausfhren. Diese Batchdatei installiert mit Hilfe der Dateien instsrv.exe und svrany.exe den Netcat -Befehl auf dem PC als Service. Die Startparameter fr den Netcat, werden ber die NetCat.reg in die registry eingetragen. Um den Netcat wieder aus dem System zu entfernen, die Datei NetCat_rem.bat ausfhren. Nc.exe ist der Netcat fr Windows. Das schne an Netcat ist, dass es als Client und als Server zu verwenden ist. Prinzipiell knnt Ihr jeden Port nehmen, den ihr wollt, ich hab jetzt mal in das Script den Standard Telnetport (23) eingetragen. Wenn Ihr einen anderen Port verwenden wollt, msst Ihr die Dateien NetCat.reg auf dem PC und wol in der DBox anpassen. Ist aber, wie gesagt, komplett Euch selbst berlassen. Ihr knnt auf diese Weise auch andere scripts auf den Remote-Rechner ausfhren.


Probleme mit shutdown per NETCAT?
---------------------------------

Wenn es Probleme mit dem Shutdown des Rechners gibt hat sich folgendes als sinnvoll erwiesen:

Arbeitsplatz, verwalten, Dienste und Anwendungen, Dienste, Rechtsklick auf Netcat und Eigenschaften, dann auf die Registrierkarte anmelden, dann auf "dieses Konto", dort Administrator und 2 x das Admin-Passwort eingeben.

Danke an Vernichter fr den Hinweis!




Ich bitte euch, schaut euch den Inhalt der Dateien an, dann drften sich viele Fragen von selbst klren.

So das war's, wenn ihr jetzt alles richtig gemacht habt, dann knnt ihr jetzt euren PC einschalten wenn er aus ist und auschalten wenn er an ist. 

Viele Gre von DrStoned


P.S. Mein Dank geht an alle aktiven Member, die ein offenes Ohr fr meine Probleme hatten und haben, und die mir diesbezglich auf die Sprnge geholfen haben. Spezieller Dank nochmal an XhorRah, radidsl und Tetzlaff.

************************
******************



Am Schlu noch etwas, bitte testet die Geschichte erst mal whrend Ihr dabei steht. Ich hab zwar alle mglichen Tests durchgefhrt und es drfte ansich nichts passieren, ausser da die Box runterfhrt, aber dies ist immernoch eine Betaversion. Der Teufel steckt im Detail.
Bitte gebt dem Plugin eine Vorlaufzeit von etwa 7 Minuten, Beispiel:

Aufnahmebeginn : 18:00 Uhr
Timer Eintrag in Neutrino sptestens : 17:52 Uhr
WOL-timer Aktivierung sptestens 17:53Uhr



#######################################################


Infos und aktuelle Versionen gibts beim 

NEW-TUXWETTER-TEAM

SnowHead und Worschter



Gru!

Worschter



