Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von einem Zentralrechner per WOL (Wake On LAN) aktiviert wird und im Anschluss die Backups zieht. Das hat alles prima funktioniert, bis ich vor kurzem ein Upgrade auf Ubuntu 22.04 gemacht habe. Seither wollte das System nicht mehr per WOL aufwachen.
Ein Blick ins BIOS zeigte dass alles wie immer eingestellt war und WOL eigentlich funktionieren hätte müssen. Warum also läuft es nicht mehr?
Mit „ethtool“ lässt sich das schnell herausfinden:
root@server:~# sudo ethtool eno1
Settings for eno1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Mein Server war also auf „d“ (Wake-on) eingestellt und unterstützt „pumbg“ (Supports Wake-on).
Zur Erklärung hier ein Auszug aus dem man-page von ethtool:
wol p|u|m|b|a|g|s|f|d...
Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable.
p Wake on PHY activity
u Wake on unicast messages
m Wake on multicast messages
b Wake on broadcast messages
a Wake on ARP
g Wake on MagicPacket™
s Enable SecureOn™ password for MagicPacket™
f Wake on filter(s)
d Disable (wake on nothing). This option clears all previous options.
„d“ steht also für disabled – somit ist klar warum es nicht funktioniert!
Das lässt sich aber schnell ändern, folgender Befehl schaltet auf „g“ damit via Magic Packet das System gestartet werden kann:
ethtool -s eno1 wol g
Anschließend klappt das aufwecken via „wakeonlan <mac-address>“ wieder problemlos! 🙂