Linux.WOL

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen

Einen Computer aus dem "halt" wieder über die Netzwerkkarte aufzuwecken gelingt nicht immer auf Anhieb. Hier einige Tipps:

Voraussetzungen

  • WOL-fähige Netzwerkkarte die über PCI 2.2 an das Board gekoppelt ist (alternativ über WOL jumper mit Kabel)
  • Integrierte Netzwerkkarte.
  • BIOS: Powermanagement muss aktiv sein.
  • BIOS: Aufwecken mit WOL MAC PME muss aktiviert sein.
  • Im "halt"-Zustand muss am Switch, an den die Netzwerkkarte gekopplet ist die "Link"-Lämpchen leuchten. Ist das nicht so, hat die Karte keinen Strom, und kann nicht auf Pakete lauschen.

Informationen sammeln

# 
# Am System, das als Aufwecker dienen soll
# 
arp -a    // Zeit die MAC Adresse aller "angeschlossenen" Systeme an
          // wird der Aufzuweckende (muss jetzt laufen) nicht
          // angezeigt -> zunächst mal anpingen.

#
# Am System das aufgeweckt werden soll:
#
ethtool eth0     // Info ausgeben
                 // Besonders interessant der "Wake-on:" Abschnitt
                 // Hier sollte "g" stehen 
ifconfig eth0    // Ermitteln der MAC-Adresse 
                 // der eigenen Netzwerkkarte:
                 // HWaddr 00:02:2A:C0:EC:BC
ethtool -i eth0  // Info über das geladene Modul ausgeben
man ethtool      // Erklärung für die WOL Buchstaben ausgeben

Netzwerkkarte für WOL sensibilisieren

In ein Start-Script sollte folgendes eingetragen werden.

 ethtool -s eth0 wol g

Den Rechner sollte man mit folgendem Befehl ausschalten:

 halt

Funktion um Systeme aufzuwecken

Ein Remote (Linux) Rechner kann mit folgendem Befehl den Ziel Rechner einschalten:

ether-wake -i eth0 xx:xx:xx:xx:xx:xx    // xx... = MAC Adresse der Netzwerkkarte des Zielsystems
                                        // Die -i Option ist notwendig bei Systemem mit mehreren 
                                        // Netzwerk-Interfaces "eth0" ist default!

Die WOL Einstellungen der Netzwerkkarte sind offenbar nicht persistent. Deshalb muss sichergestellt werden, dass dieses Bit im Netzwerkchip immer gesetzt wird, sobald das Netzwerkinterface aktiviert wurde. Hierzu speichern wir ein Script für den Fall, dass das passende Interface hochkommt.

 joe /etc/sysconfig/network/if-up.d/wol

 #!/bin/bash
 case "$1" in
  eth-id-00:13:d4:14:a5:d9)
    ethtool -s eth0 wol g
    logger "WOL auf $1 aktiviert!"
    ;;
  *)
    logger "kein WOL für $1!"
    ;;
  esac

SiS900 auf meinem ASUS Board

Dummerweise geht das Wake on Lan mit Suse 10.0 Beta 3 nicht. Der sis900.c Maintainer lebt auf dieser WebSite http://www.brownhat.org/sis900.html Ich versuche einen entsprechenden Patch einzuspielen:

cd /usr/src/linux/drivers/net
wget http://www.brownhat.org/download/kpatches/sis900-wol-ethtool.diff
// Mist: ich musste den Patch per hand "einspielen": Also abtippen! Eigentlich sollte das 
// folgendermassen automatisch gehen:
patch < sis900-wol-ethtool.diff

// wieder im ./linux
make cloneconfig
make prepare
make modules modules_install
// bei meinem letzten Test musste ich noch
make install
reboot
// machen, weis auch nicht warum!

später wollen wir auch sehen, dass unsere Compilierung auch wirklich eine durchschlagende Wirkung hatte:

ethtool -i eth0

Es muss unser gepatchter Versions String angezeigt werden! ES GEHT !!!!!!! COOOOOOOOOOLLLLLLLLLLL !