WAKE ON LAN

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Programme)
(Linux)
Zeile 16: Zeile 16:
 
Ein passendes Linux-Programm ist [http://www.scyld.com/wakeonlan.html ether-wake].
 
Ein passendes Linux-Programm ist [http://www.scyld.com/wakeonlan.html ether-wake].
  
Compilieren muss man den source-code mit
+
Compiliert wird der source-code mit
wget ftp://ftp.scyld.com/pub/diag/ether-wake.c
+
<pre>
gcc -O -Wall -o ether-wake ether-wake.c
+
wget ftp://ftp.scyld.com/pub/diag/ether-wake.c
cp ./ether-wake /usr/local/bin
+
gcc -O -Wall -o ether-wake ether-wake.c
 
+
cp ./ether-wake /usr/local/bin
 +
</pre>
 
Der Aufruf erfolgt so:
 
Der Aufruf erfolgt so:
ether-wake 00:11:22:33:44:55
+
<pre>
 
+
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
+
</pre>
ifconfig eth0
+
wobei man für die Zahlenfolge einfach die MAC-Adresse des aufzuweckenden Rechners eingeben muss. Wenn man die nicht, hat kann man sich diese mit
 +
<pre>ifconfig eth0
 +
</pre>
 
anzeigen lassen (natürlich auf dem Rechner den man später wecken will!).
 
anzeigen lassen (natürlich auf dem Rechner den man später wecken will!).
* als Alternative dazu gibt es z.B. noch [http://ahh.sourceforge.net/wol/ hier]
+
* als Alternative dazu gibt es z.B. noch [http://ahh.sourceforge.net/wol/ wol]
  
'''Problem:'''
+
====Probleme====
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!!!
+
*seit dem 2.6er Kernel gibt es Probleme dass WOL nicht funktioniert Das Problem liegt darin, dass die meisten Netzwerkkarten-Treiber das WOL deaktivieren.
  
 
'''Lösung des Problems:'''
 
'''Lösung des Problems:'''
 
Es gibt ein Programm namens [http://www.sourceforge.net/projects/gkernel/ "ethtool"]. Hiermit kann man - nachdem der Netzwerktreiber geladen ist - die Netzwerkkartenparameter auslesen und ändern.
 
Es gibt ein Programm namens [http://www.sourceforge.net/projects/gkernel/ "ethtool"]. Hiermit kann man - nachdem der Netzwerktreiber geladen ist - die Netzwerkkartenparameter auslesen und ändern.
 
+
So bekommt man angezeigt, wie die Parameter derzeit sind:
So bekommt man angezeigt wie die Parameter derzeit sind:
+
<pre>ethtool eth0</pre>
ethtool eth0
+
 
Beispiel:
 
Beispiel:
VDR:~# ethtool eth0
+
<pre>
Settings for eth0:
+
ethtool eth0
        Supported ports: [ TP MII ]
+
Settings for eth0:
        Supported link modes:  10baseT/Half 10baseT/Full
+
      Supported ports: [ TP MII ]
                                100baseT/Half 100baseT/Full
+
      Supported link modes:  10baseT/Half 10baseT/Full
        Supports auto-negotiation: Yes
+
                              100baseT/Half 100baseT/Full
        Advertised link modes:  10baseT/Half 10baseT/Full
+
      Supports auto-negotiation: Yes
                                100baseT/Half 100baseT/Full
+
      Advertised link modes:  10baseT/Half 10baseT/Full
        Advertised auto-negotiation: Yes
+
                              100baseT/Half 100baseT/Full
        Speed: 100Mb/s
+
      Advertised auto-negotiation: Yes
        Duplex: Full
+
      Speed: 100Mb/s
        Port: MII
+
      Duplex: Full
        PHYAD: 1
+
      Port: MII
        Transceiver: internal
+
      PHYAD: 1
        Auto-negotiation: on
+
      Transceiver: internal
        Supports Wake-on: pumbg
+
      Auto-negotiation: on
        Wake-on: g
+
      Supports Wake-on: pumbg
        Current message level: 0x00000001 (1)
+
      Wake-on: g
        Link detected: yes
+
      Current message level: 0x00000001 (1)
 
+
      Link detected: yes
 +
<pre>
 
Besonders die Zeilen "Supports Wake-on:" und "Wake-on:" sollte man hier im Auge behalten.
 
Besonders die Zeilen "Supports Wake-on:" und "Wake-on:" sollte man hier im Auge behalten.
Die buchstaben bedeuten dabei:
+
Die Buchstaben bedeuten:
      wol p|u|m|b|a|g|s|d...
+
<pre>
              Set Wake-on-LAN options.  Not all  devices  support  this.  The
+
      wol p|u|m|b|a|g|s|d...
              argument  to  this  option  is a string of characters specifying
+
            Set Wake-on-LAN options.  Not all  devices  support  this.  The
              which options to enable.
+
            argument  to  this  option  is a string of characters specifying
              p  Wake on phy activity
+
            which options to enable.
              u  Wake on unicast messages
+
            p  Wake on phy activity
              m  Wake on multicast messages
+
            u  Wake on unicast messages
              b  Wake on broadcast messages
+
            m  Wake on multicast messages
              a  Wake on ARP
+
            b  Wake on broadcast messages
              g  Wake on MagicPacket(tm)
+
            a  Wake on ARP
              s  Enable SecureOn(tm) password for MagicPacket(tm)
+
            g  Wake on MagicPacket(tm)
              d  Disable (wake on nothing).  This option clears  all  previous
+
            s  Enable SecureOn(tm) password for MagicPacket(tm)
                options.
+
            d  Disable (wake on nothing).  This option clears  all  previous
 +
                options.
 +
</pre>
 
So aktiviert man das Wake-On-Lan beim Eintreffen eines "MagicPacket(TM)":
 
So aktiviert man das Wake-On-Lan beim Eintreffen eines "MagicPacket(TM)":
ethtool -s eth0 wol g
+
<pre>
 
+
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).
+
</pre>
 +
Ich habe diese Zeile einfach in meine /etc/init.d/networking an entsprechender Stelle nach dem Aktivieren des Netzwerks gesetzt.
  
 
Falls es noch Fragen gibt könnt Ihr mich auch direkt anmailen: Thorsten at Gehrig.de
 
Falls es noch Fragen gibt könnt Ihr mich auch direkt anmailen: Thorsten at Gehrig.de

Version vom 30. April 2005, 12:04 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)".

Inhaltsverzeichnis

Programme

Die Programme müssen das "MagicPacket(TM)" erzeugen und an die MAC-Adresse der Netzwerkkarte des aufzuweckenden Rechners schicken.

Browser

Bequem per Browser läßt sich über diesen Wake-On-Lan über Router-Dienst das MagicPacket(TM) aus Web-Formular senden. Das funktioniert teilweise sogar durch (DSL-) Router hindurch.

Windows

Für Windows gibt es die Freeware LANStart.

Linux

Ein passendes Linux-Programm ist ether-wake.

Compiliert wird der 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 aufzuweckenden Rechners eingeben muss. Wenn man die 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 wol

Probleme

  • seit dem 2.6er Kernel gibt es Probleme dass WOL nicht funktioniert 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:

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
<pre>
Besonders die Zeilen "Supports Wake-on:" und "Wake-on:" sollte man hier im Auge behalten.
Die Buchstaben bedeuten:
<pre>
      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 meine /etc/init.d/networking an entsprechender Stelle nach dem Aktivieren des Netzwerks gesetzt.

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

Sonstiges

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: MagicPacket(TM) aus Web-Formular senden