Rechner schaltet sich ein, wenn 'Magische Sequenz' ber Ethernet kommt. (Karte ist immer an!)
Sequenz besteht aus 6 X FF (hex) und 16 mal die MAC-Adresse des Ziels.
Ethernetkarte schickt dann Wake-up-Befehl an Motherboard, das sich einschaltet. Bei PCI-Karten braucht man dazu diese kl. Kabel…
http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/
Netzwerkkarten sind standardmässig nicht auf WOL eingestellt (ausser eine Realtek XXX B, die einen Fehler hat. Später ab C beseitigt)
Um Status abzufragen:
ethtool eth0
Da steht dann welche WOL-Typen von der Karte unterstützt werden:
Supports Wake-on: pumbg
und welche gerade eingestellt ist:
Wake-on: d (disabled) ethtool -s eth0 wol g Dann sagt ethttool: Wake-on: g (MagicPacket)
Man muss den Befehl des Umstellens vor jedem Shutdown einstellen. (Bei Windows muss man bei den Netzwerkeinstellungen ein Häkchen machen) z.B. Debian in /etc/network/interfaces ethtool kann man auch einfach als pre-down oder post-up (post-down, pre-up haben in meinem Fall nicht funktoniert) in die interfaces-Konfiguration einbauen: auto eth0 iface eth0 inet dhcp
pre-down ethtool -s eth0 wol g
Besser als das Ändern von vorhandenen Dateien ist es. einen extra Mechanismus einzubauen. In Debian (Sarge) wird der runlevel 0 zum Abschalten des Systems benutzt. Daher wird ein link in /etc/rc0.d erzeugt der auf das Skript in /etc/init.d/wake_on_lan zeigt. (Erst das Skript erzeugen!)
cd /etc/rc0.d
ln -s /etc/init.d/wake_on_lan S80wake_on_lan
Und hier das Skript wake_on_lan. Er muß nach /etc/init.d gespeichert werden und ausführbar sein. Dies geht mit „chmod +x wake_on_lan“, wenn man im Verzeichnis ist.
#! /bin/sh # # Ensures that Wake on Lan works # #PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin set -e case "$1" in stop|start|restart|force-reload|reload) echo -n "Turn on: Wake on Magic Packet" /usr/sbin/ethtool -s eth0 wol g echo ;; *) # N=/etc/init.d/hwtools # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
Falls ethtool noch nicht installiert ist, muß man dies jetzt nachholen:
apt-get install ethtool