Wakeonlan (WOL) ermöglicht einen PC über das Netzwerk einzuschalten. Er kann aus einem Sleep-State oder auch aus einem vollständig ausgeschaltetem Zustand aktiviert werden. Hierzu wird nur die Netzwerkkarte mit minimalem Stromversorgung, sodass sie das Kommando, dem sogenannten MagicPacket(tm) zum Aufwachen empfangen und verarbeiten kann.
Um das Wakeonlan zu aktivieren müssen mehrere Dinge getan werden:
- Im BIOS muss WOL aktiviert sein. Da dies bei jedem BIOS anders aussieht, müsst ihr euch da selber durchsuchen.
- Wir brauchen die sys-apps/ethtool.
- Mit diesen können wir einiges über unsere Ethernet Verbindungen in Erfahrung bringen
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
Wichtig ist der fette Eintrag. Steht er auf g so ist eure Karte bereit per MagicPacket(tm) den PC zu wecken und Ihr könnt bei Punkt 5 weitermachen.
4. Steht er auf d, so muss das WOL nach jedem starten des Rechners neugesetzt werden. Dies kann manuell per
# ethtool -s eth0 wol g
gemacht werden. Um die arbeit zu erleichtern, habe ich ein init-script geschrieben app-admin/wol-init, welches bei Systemstop die Karten auf Empfang setzt.
5. Das Wecken ist brauchen wir net-misc/wakeonlan. Mit diesem können wir dann das MagicPacket(tm) senden. Das MagicPacket(tm) besteht aus "FF FF FF FF FF FF" und 16 Wiederholungen der MAC Adresse und wird auf dem Broadcast Port (normalerweise 9) gesendet. Obwohl nun alle Netzwerkarten im Subnet das Packet empfangen, reagiert auf Grund der mitgesendeten MAC Adresse nur die dazugehörige Karte. Mit
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:76:C4:4D:37
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:8691372 errors:0 dropped:0 overruns:0 frame:0
TX packets:236434 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:1118921491 (1067.0 Mb) TX bytes:110306864 (105.1 Mb)
Memory:50180000-501a0000
noch die MAC Adresse eurer KArte herausgekommen und den Rechner runterfahren.
Mit
$ wakeonlan 00:1B:FC:CF:FE:C7
könnte mein Rechner nun wieder aufgeweckt werden. Wenn ihr einen rechner öfters wecken müßt kann die MAC auch in einer Datei gespeichert werden.
$ wakeonlan -f PC-NAME.wol
den Rechner wecken.
6. Wecken über das Internet bedarf noch einer weiteren Vorbereitung. Erstens müsst ihr eine Standleitung und zweitens muss das lokale Netzwerk (Router, Firewall, etc.) so konfiguriert, dass das MagicPacket(tm) auch bei eurem Rechner landet. Wenn ihr keine statische IP habt, braucht ihr auch noch nen DynDNS Eintrag. Dann funktioniert es aber genauso wie sonst auch. Ihr schickt das MagicPacket(tm) einfach an eure Home IP und eurer Rechner wacht auf.
$ wakeonlan -f PC-NAME.wol -i MUSTERURL.dyndns.org
