Im BIOS zuerst die entsprechende Funktion aktivieren. Dann das ethtool installieren
sudo apt-get install ethtool
und auf die Netzwerkkarte (hier ETH0) loslassen:
sudo ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: Unknown Supports Wake-on: g Wake-on: g Current message level: 0x000000ff (255) drv probe link timer ifdown ifup rx_err tx_err Link detected: yes
Der momentane Zustand bei meiner Karte für ETH0 ist der Zeile Support Wake-on: g zu entnehmen. Das kleine g steht für Wake on MagicPacket ™ – siehe man page zum ethtool.
Das setzt man einmal händisch mit
sudo ethtool -s eth0 wol g
und trägt diese Zeile ohne sudo auch in die /etc/rc.local vor dem exit 0 ein.
In die /etc/init.d/halt kommt noch ein
NETDOWN=no
statt des vorhandenen yes, damit die Karte nicht abgeschaltet wird, wenn der Rechner runter fährt.
Man notiert sich nun die MAC Adresse der ETH0 (ifconfig eth0) und ein shutdown -h knippst den Rechner aus … Jetzt kann man testen, ob man dieses Gerät auch wieder über’s Netz wach bekommt. Hierzu benötigt man das Paket etherwake
sudo apt-get install etherwake
Ein WOL Paket auf die MAC 00:30:05:83:0d:74 wird gesendet mit
sudo etherwake 00:30:05:83:0d:74
… und dann kann man mit Hoffen beginnen. Oder mit debuggen. Je nach Netzwerkkarte.
Wenn es funktioniert, dann kann man sich einen Alias in der .bashrc oder .bash_aliases hierzu anlegen, der einem das Memory zur MAC Adresse abnimmt
alias fscon=’sudo etherwake 00:30:05:83:0d:74′
Wer über einen WLAN AP oder das Internet WOL Pakete versenden will, kann Pech haben – diese können nicht über jedes Gerät geroutet werden. Router, die directed broadcasts unterstützen, können aber entsprechend konfiguriert werden.
Ein Script fährt nun unseren Backup-/Spiele-/Tauschordner-Server am späten Abend runter – und ein Befehl holt diesen wieder her, wenn er gebraucht wird. Ist schon vor dem späten Abend klar, dass er ausgeschaltet werden kann, dann hilft eine alias Definition in der .bashrc weiter:
alias fscoff=’ssh -t benutzer@192.168.0.112 „sudo shutdown -h now“‚
Man wird dann zwei mal nach dem Passwort gefragt – einmal für SSH und dann noch für das sudo. Das können nun auch die Kinder, mit diesen beiden Aliasen umgehen: fscon schaltet die Kiste ein – fscoff schaltet sie wieder ab. Und vom gesparten Strom gehen wir essen.