# [solved] Wakeup on Lan - bei Zugriff aus Standby erwachen?!

## Stomper

Hi Leute,

nachdem mein kleiner mini Server nun prächtig läuft dank euch, würd ich ihm gern noch ein paar Features verpassen.

Ich bin mir nicht sicher, ob so was überhaupt gehen kann, oder ob es ne Art Workarround gibt.

Also folgende Situation:

Mein Mini Server, Gentoo Linux, steht im Büro in nem Schrank, hat nur Netzwerkanschluss.

Im Wohnzimmer steht mein Mediacenter (Windoof), welches sich die Daten von dem Gentoo-Server aus dem Büro holt und abspielt.

Jetzt wäre es fein, wenn sich der Linux Server im Büro, bei nicht benutzung in den Standby schalten würde. Das ist ja wahrscheinlich noch kein Problem.

Kann ich den Server auch wieder aus dem Standby aufwecken, am bessten sobalt mein Mediacenter versucht auf ihn zuzugreifen?!

Der Server müsste also irgendwie aufwachen, sobalt seine Netzwerkkarte angesprochen wird, bzw. er darf sie im Standby nicht ausschalten.

Ich denke mal aus dem S3 wird man ihn nicht wecken können, aber evtl. S1 oder S2 ?

Gruß

StomperLast edited by Stomper on Wed Jan 14, 2009 12:31 am; edited 1 time in total

----------

## Keepoer

Hallo,

solange dein Server "Wake on Lan" kann, könntest du diesen dann wieder hochfahren. Das wurde auch erst letztens hier in ähnlicher Form diskutiert: https://forums.gentoo.org/viewtopic-t-459590.html

MfG

Keep

----------

## Stomper

Ja das Thema ist schon nicht schlecht.

Aber ich würde gerne das WOL nicht mit nem Magic Packet machen, sondern irgendwie anders - z.B. bei nem Ping auf den Rechner, bzw. wenn halt jemand was anfordert vom Rechner.

 *Wickipedia wrote:*   

> 
> 
> Andere WOL-Methoden 
> 
> Je nach Netzwerkkarte, BIOS, Betriebssystem und Netzwerkkarten-Treiber werden auch noch andere Methoden zum Aufwecken eines Rechners angeboten. Bei einem Link Change wacht ein Computer auf, wenn die physische Netzwerkverbindung hergestellt oder getrennt wird (also beispielsweise das Netzwerkkabel eingesteckt wurde). Die Methode Pattern Match reagiert auf verschiedene an den Computer gerichtete Datenpakete (u.a. per ping) und sorgt in der Regel dafür, dass der Rechner sehr häufig aufwacht. Zudem gibt es neben dem Quasi-Standard Magic Packet noch andere (ältere) Datenformate für das WOL-Paket.
> ...

 

Also gehen tut es, ich müsste nur wissen wie...

Und gibt es kein fertiges Programm/Script etc, dass ich auf Linux installieren kann, dass den Rechner in Standby runterfährt, wenn er nichts tut?

Gruß

Stomper

----------

## 69719

 *Stomper wrote:*   

> Ja das Thema ist schon nicht schlecht.
> 
> Aber ich würde gerne das WOL nicht mit nem Magic Packet machen, sondern irgendwie anders - z.B. bei nem Ping auf den Rechner, bzw. wenn halt jemand was anfordert vom Rechner.
> 
>  *Wickipedia wrote:*   
> ...

 

Ohne WOL oder einer Master-Slave Steckdose wirste wohl nicht auskommen.

Runterfahren wenn er nix tut? Ein PC tut immer etwas. Man könnte ihn herunterfahren wenn keine Clients mehr online sind, etwas nach 3x alle 5minuten checken. Mein script sorgt außerdem dafür, dass der Rechner mindestens eine bestimmte Zeit online ist.

```

#!/bin/bash

#### SETTINGS ####################################################

# the network to scan

NETWORK=10.0.0.0/24

# how many checks before we can shutdown

CHECKS=3

# host count that are always online

MINHOSTS=2

# min uptime before the first check begins

MINUPTIME=30

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

UPTIME=$(cat /proc/uptime | cut -d . -f 1)

UPTIME_MINUTES=$(($UPTIME / 60))

[ $UPTIME_MINUTES -lt $MINUPTIME ] && exit 0

COUNT=$(cat /tmp/shutdownmanager.tmp 2>/dev/null || echo 0)

HOSTS=$(nmap -sP $NETWORK | grep 'appears to be up' | wc -l)

if [ $HOSTS -le $MINHOSTS ]; then

        COUNT=$(($COUNT + 1))

else

        COUNT=0

fi

if [ $COUNT -ge $CHECKS ]; then

        rm -f /tmp/shutdownmanager.tmp

        /root/scripts/hibernate.sh

else

        echo $COUNT > /tmp/shutdownmanager.tmp

fi

```

/root/scripts/hibernate.sh

sollte dementsprechend ersetzt werden. Wichtig ist falls du hibernation verwendest vorher alle USB gemounteten geräte auszuhängen, da es sonst zu datenverlust kommen kann. Nach dem resume mußt du diese neu einhängen. Tust du dies nicht, so sind die entsprechenden mount punkte nicht mehr ansprechbar.

----------

## Stomper

Ok, dann werd ich wohl das Script so einsetzten.

Wegen WOL:

Ich habe die Einstellmöglichkeiten gefunden, 

meine Karte unterstützt z.B. Wake Up on Unicast - unicasts sind ja pakete die nur für den Client bestimmt sind.

Würde der Rechner dann aufwachen, wenn man ihn anpingt, bzw. versucht auf ihn zuzugreifen?

Gruß

Stomper

----------

## 69719

 *Stomper wrote:*   

> Unicast 

 

Unicast sind Pakete die jeder Rechner bekommt. WOL ist genau das. Bei WOL wird in dem Paket die MAC Adresse der Netzwerkkarte angegeben die den Rechner anschalten soll.

----------

## Stomper

Ich will da ja nicht widersprechen, aber WOL ist doch nur die Abkürzung von Wake Up on Lan.

Und ob das durch ein Magic Packet oder durch was auch immer hervorgerufen wird, muss ich doch noch spezifizieren.

g bedeutet doch Wake up on Magick Packet.

und u bedeutet eben Wake up on unicast packet.

Und die Pakete, die jeder Rechner bekommt, waren doch Broadcast Pakete, nicht? Bzw. Multicast... Unicast war doch die direkte Verbindung/Kommunikation zwischen zwei Clients, nicht?

Und es gibt noch so einen Modus, der heist: on phy activity... 

Was bedeutet das? Physikalische aktivität? Wenn man den Stecker zieht oder wenn der Router an/aus geht?

Ich glaub ich probier das mit dem unicast einfach mal aus - ich find dazu auch nichts im Internet, die machen das alle mit Option g und dem Magic Packet.

Hat niemand erfahrung damit?

Gruß

Stomper

----------

## manuels

 *Stomper wrote:*   

> Ja das Thema ist schon nicht schlecht.
> 
> Aber ich würde gerne das WOL nicht mit nem Magic Packet machen, sondern irgendwie anders - z.B. bei nem Ping auf den Rechner, bzw. wenn halt jemand was anfordert vom Rechner.
> 
> 

 

Willst du das Magic Packet nur nicht, weil es nicht dieses "Wake-Up-On-Anforderungs-Feature" nicht hat oder aus einem anderen Grund?

Ich habe auch schon über so etwas nachgedacht und glaube, dass sich das ganze recht einfach mit FUSE lösen läßt.

Man müsste sich nur ein Filesystem basteln, dass bei jeder Anforderung (man kann das natürlich noch beschränken) auf ein gemountetes Verzeichnis ein WOL-Paket an den Server schickt und legt dieses über das NFS-gemountete Verzeichnis.

----------

## Stomper

Ja, also ich möchte halt, dass der Rechner automatisch aufgeweckt wird, wenn jemand auf ihn zugreifen will.

Idealerweise wacht er bei jedem Zugriffsversuch auf - notfalls reicht erstmal das Aufwachen, wenn das Mediacenter versucht zuzugreifen.

Wenn ich jetzt WOL mit Magick Packets mache, dann muss ich irgendwie dafür sorgen, dass das Mediacenter vor jedem Zugriff ein MagickPacket sendet - wie du es mit deinem eigenen Filesystem vorschlägst.

Allerdings kenne ich mich mit FUSE nicht aus, und hab schon 3x keine Ahnung wie ich das in Windows (NTFS) implementieren soll. Außerdem war meine Motivation, dass es mit allen Geräten im Netz funktioniert. Also auch, wenn z.B. meine Freundin mit ihrem Notebook versucht Daten vom Linux-Server zu holen.

Irgendwie müsste man ein Windows-Script basteln, dass ein MagickPacket verschickt, wenn man auf ein Netzlaufwerk zugreift - bzw. auf ein spezielles Netzlaufwerk.

Oder das WOL mit unicast funktioniert wie ich mir das Vorstelle - d.h. sobalt ein Packet für genau den Linuxserver angeflattert kommt - schaltet er sich ein - aber ich hab keine ahnung was WOL mit unicast bedeutet.

Ich teste das heute Nachmittag evtl. mal.

Gruß

Shorty

----------

## Stomper

Also ich hab heute den ganzen Nachmittag drann rumgebastelt und alles ausprobiert.

Bei mir geht definitiv NUR WOL mit dem Magick Packet.

Wie gesagt, Windows müsste einfach bei jedem Netzwerkzugriff über mein Netzlaufwerk Z: ein MagickPacket schicken...

Aber da werd ich mal in nem passenden Windows-Forum um Hilfe und Ideen fragen.

Dank und Gruß

Stomper

----------

## Keepoer

 *Stomper wrote:*   

> Wie gesagt, Windows müsste einfach bei jedem Netzwerkzugriff über mein Netzlaufwerk Z: ein MagickPacket schicken...

 

Hallo,

was hindert dich daran, dir eine Batch-Datei zu basteln? So à la Software für WOL ausführen, x Sekunden Pause (solange halt, wie dein Server zum hochfahren braucht), Explorer mit entsprechendem Laufwerk starten. Dann hättest du auch keine Probleme damit, dass Windows rummeckert, dass das Laufwerk nicht vorhanden wäre.

Und die Batch kannst du dann überall hin verlinken (Startmenü, Schnellstart).

Aber eventuell gibts da ja noch was anderes, schön integriertes  :Wink: 

MfG

Keep

----------

## 69719

[quote="Keepoer"] *Stomper wrote:*   

> Aber eventuell gibts da ja noch was anderes, schön integriertes 

 

Start -> Programme -> Autostart

----------

## Stomper

 *Keepoer wrote:*   

> was hindert dich daran, dir eine Batch-Datei zu basteln?

 

Naja, wegen mir wär das alles nicht so wichtig. Ich würde den Linux-Server anschalten, wenn ich Filme oder Fernsehschauen will und laufenlassen bis ich zu bett gehe und dann beenden.

Aber hier geht es um den sog. WAF - den Woman Acceptance Factor   :Wink: 

MEine Freundin nutz das Mediacenter auch, bzw. wahrscheinlich mehr als ich.

Vorher lagen alle Daten auf dem MEdiacenter im Wohnzimmer. Meine Idee war eben die Daten wie Musik, Filme etc. vom Mediacenter zentral auf einen Mini-Linux Server zu legen. Vorteil für mich ist eben, dass ich 

1. die lärmenden Festplatten aus dem Wohnzimmer verbannt habe und 

2. sitze ich oft Abends/Nachts hier im Büro wenn das Mediacenter aus ist - wenn ich dann Musikhören wollte musste ich das MEdiacenter anwerfen, jetzt nicht mehr.

Aber die Frage der Frau, die für Technik nichts übrig hat ist dann natürlich "Muss ich dann IMMER vorher dieses Ding anschalten bevor ich meine Serien gucken kann?!".... grummel grummel....

Ihr versteht was ich meine?

Es muss also dummy mäßig sein - Mediacenter anschalten und gucken wie gewohnt - keine Extra-Schritte keine extra dateien.

Momentan habe ich einfach im Autostart ne bat-datei, die eben per wol den linux-server hochfährt. da ich ihn nur in standby versetzte ist er auch innerhalb von sekunden da. kein problem so weit.

Allerdings kommt es nun offt vor, dass das mediacenter laufen gelassen wird - es schaltet sich dann selbst in den standby nach ner halben stunde oder so. Jetzt möchte ich das selbe auch für das Linux Share - es soll sich nach ner halben stunde nicht zugriff abschalten. ABER eben auch wieder an, sobalt jemand vom mediacenter daten anfordert.

Und das SO hin zu kriegen ist gar nicht leicht.

Bzw. hab ich rausbekommen, dass es wohl nicht geht - ich müsste eben auf dem mediacenter ständig überwachen, ob jemand auf das Netzlaufwerk zugreift - und das scheint nicht so einfach zu sein.

Gruß

Stomper

----------

## Stomper

Ich wollte das Script von escor einsetzten, 

mal davon abgesehen, dass ich nmap nicht installiert habe, läuft das Script doch nur 1x ab.

Er "merkt" sich die durchläufe in ner Temp-File.

Mit was sorge ich nun dafür, dass das Script z.B. alle 5 Minuten aufgerufen wird?

Cronjob? Wenn ja, wie genau - hab noch nie mit Crons gearbeitet.

Gruß

Stomper

----------

## manuels

Schätze das Mediacenter basiert nicht zufällig auf Linux, oder?

----------

## Stomper

Nein leider nicht.

Ich hab es versucht mit MythTV usw. ans laufen zu kriegen, aber ich hab mehrere Komponenten, die unter Linux nicht unterstützt werden.

Vor allem meine sch... Fernbedienung. Und was ist ein Mediacenter ohne FB?!

Naja, auf jeden Fall ist es ne Windows-Kiste. Sonst wär es ja sicher wesentlich einfacher   :Wink: 

Wie schaut es jetzt mit dem Script aus?

Muss ich das durch nen Cronjob aufrufen?

Wenn ja, wie sag ich dem Cron-Deamon, dass er alle 5 Minuten das Script laufen lässt?

Gruß

Stomper

----------

## 69719

http://www.gentoo.de/doc/de/cron-guide.xml

----------

## Stomper

Danke, jetzt geht alles.

Für Interessierte

Ich habe mein Problem folgendermaßen gelöst:

1. WOL mit MagickPacket am Linux Server eingeschaltet.

2. Das Script von escor (siehe oben) auf den Linux Server kopiert, und etwas angepasst.

Es wird nun alle 10 Minuten ausgeführt, max. 3x Keine Clients - also fährt sich der Server ca. 20-30 Minuten nachdem keine Clients mehr im Netz sind herunter.

3. Das war wohl das schwierigste und umfangreichste - Ich habe mir ein VB.Net Tool für Windows geschrieben, dass sich im Sys-Tray beim Starten des Mediacenter-Rechners öffnet. Es sendet einerseits direkt beim Start ein MagickPacket und überwacht andererseits den Systemstatus. Sobalt der Rechner aus dem Standby oder Ruhemodus erwacht, wird ebenfalls ein MagickPacket gesendet.

Bei Interesse an diesem Tool, oder am Quelltext, einfach PN an mich.

So klappt es wunderbar, wenn ich zu Hause bin und Abends alles Abschalte, fahre ich den Linux-Server natürlich mit einem Knopfdruck auf die Powertaste per Hand runter. Sollte ich mal nicht da sein, bzw. das Haus und die Technik auf die Frau angewiesen sein, geht alles automatisch. Durch das Windows Tool wird in jedem Fall der Linux-Server Hochgefahren auf dem die Daten liegen und die Frau kann Serien schaun.

WAF (Woman Acceptance Factor) somit sehr hoch - würd sagen 8 von 10 Punkten   :Twisted Evil: 

(2 Punkte Abzug, da der Server z.B. weiterläuft, wenn die Frau mit dem Notebook im I-Net surft aber Mediacenter aus.)

Dank und Gruß

Stomper

----------

