WAKE ON LAN

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Sonnstiges)
(Sonnstiges)
Zeile 80: Zeile 80:
 
http://www.dotnethell.it/images/wol2.png
 
http://www.dotnethell.it/images/wol2.png
  
Ansonnsten gibt es noch ein kabel, welchen mit dem Bord verbunden werden muß.
+
Ansonnsten gibt es noch ein Kabel, welchen Bord und Netzwerkkarte verbindet (integrierte Netzwerkkarten (interne) mal außen vor), liegt meist den Netzwerkkarten bei.
  
 
http://www.hofstaedtler.at/kiste/details/b30.jpg
 
http://www.hofstaedtler.at/kiste/details/b30.jpg

Version vom 24. März 2005, 14:34 Uhr

Unter Wake on LAN (Abgekürzt: WOL ) versteht man einen Rechner per Netzwerk einzuschalten. Dies ist z.B. sehr schön wenn man einen Linux-Router hat - sich per Internet zu diesem Verbindet - und dann seinen VDR einschalten kann (um z.B. neue Timer zu speichern).

Das Einschalten erfolgt meistens durch das sogenante "MagicPacket(TM)". Ein passendes Linux-Programm dafür ist ether-wake.

Compilieren muss man den source-code mit

wget ftp://ftp.scyld.com/pub/diag/ether-wake.c
gcc -O -Wall -o ether-wake ether-wake.c
cp ./ether-wake /usr/local/bin

Der Aufruf erfolgt so:

ether-wake 00:11:22:33:44:55

wobei man für die Zahlenfolge einfach die MAC-Adresse des zu weckenden Rechners eingeben muss. Wenn man diese nicht hat kann man sich diese mit

ifconfig eth0

anzeigen lassen (natürlich auf dem Rechner den man später wecken will!).

  • als Alternative dazu gibt es z.B. noch hier

Problem: Nun gibt es unter Linux - zumindest seid den 2.6er Kernel-Versionen immer wieder Probleme dass WOL nicht funktionieren will. Das Problem liegt darin, dass die meisten Netzwerkkarten-Treiber das WOL deaktivieren!!!

Lösung des Problems: Es gibt ein Programm namens "ethtool". Hiermit kann man - nachdem der Netzwerktreiber geladen ist - die Netzwerkkartenparameter auslesen und ändern.

So bekommt man angezeigt wie die Parameter derzeit sind:

ethtool eth0

Beispiel:

VDR:~# ethtool eth0
Settings for eth0:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 1
       Transceiver: internal
       Auto-negotiation: on
       Supports Wake-on: pumbg
       Wake-on: g
       Current message level: 0x00000001 (1)
       Link detected: yes

Besonders die Zeilen "Supports Wake-on:" und "Wake-on:" sollte man hier im Auge behalten. Die buchstaben bedeuten dabei:

      wol p|u|m|b|a|g|s|d...
             Set Wake-on-LAN options.  Not all  devices  support  this.   The
             argument  to  this  option  is a string of characters specifying
             which options to enable.
             p  Wake on phy activity
             u  Wake on unicast messages
             m  Wake on multicast messages
             b  Wake on broadcast messages
             a  Wake on ARP
             g  Wake on MagicPacket(tm)
             s  Enable SecureOn(tm) password for MagicPacket(tm)
             d  Disable (wake on nothing).  This option clears  all  previous
                options.

So aktiviert man das Wake-On-Lan beim Eintreffen eines "MagicPacket(TM)":

ethtool -s eth0 wol g

Ich habe diese Zeile einfach in meiner /etc/init.d/networking an entsprechender stelle gesetzt (nach dem aktivieren des Netzwerks).

Falls es noch Fragen gibt könnt Ihr mich auch direkt anmailen: Thorsten at Gehrig.de

Sonnstiges

Das ganze ist im BIOS zu aktivieren.

Power On by Ring

Bei neueren Bords, heißt es.

Wake on LAN

wol2.png

Ansonnsten gibt es noch ein Kabel, welchen Bord und Netzwerkkarte verbindet (integrierte Netzwerkkarten (interne) mal außen vor), liegt meist den Netzwerkkarten bei.

b30.jpg

Links

[1] Thread zu "Wake-On-Lan aus Internet durch DSL-Router (hier FritzBox)"
[2] Wake-On-Lan über Router-Dienst: UDP Packet aus Web-Formular senden