Linux.WOL
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!
- Fehlt der Befehl "ether-wake", so muss das Paket "netdiag" nachinstalliert werden.
- 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-bus-pci-0000:00:04.0) ethtool -s eth0 wol g logger "WOL auf $1 aktiviert!" ;; *) logger "kein WOL bei [$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 !