12 Apr 2025, 00:00

Activation du Wake-On-Lan (sur un Dell Optiplex 3050)

Share

Le but est d’activer le WoL sur un Dell Optiplex 3050.

https://www.dell.com/support/kbdoc/en-uk/000129137/wake-on-lan-wol-troubleshooting-best-practices

Il faut bien sûr que le matériel supporte le WoL. C’est le cas de l’Optiplex 3050.
Il est nécessaire de paramétrer le BIOS, mais également le pilote sous l’OS que l’on utilise, car il va déterminer le comportement de la carte réseau à l’extinction de l’OS.

Paramétrage BIOS

J’ai commencé par faire une mise à jour du BIOS vers la version la plus récente, pour limiter les risques de bug logiciel du BIOS.
Vérifier les paramètres suivants :

  • System configuration -> Integrated NIC -> Enabled
  • Power Management -> Wake on LAN/WLAN -> Lan Only (ou autre réglage qui active sur le WoL sur le LAN)
  • Power Management -> Deep Sleep control -> Disabled

À ce stade, normalement le WoL est actif. Il se voit par l’allumage d’une des 2 LEDs de la carte réseau.
On peut “réinitialiser” le statut WoL en débranchant électriquement le poste puis en le rebranchant. Il devrait s’allumer un court instant, puis s’éteindre, mais la LED du NIC doit rester allumée.

Paramétrage Debian

Lorsqu’on éteint le poste via la commande sudo poweroff, la carte réseau s’éteint complètement, car l’OS peut contrôler son comportement à l’extinction.
Il faut donc lui dire de maintenir la carte en fonctionnement.

On commence par installer ethtool, qui permet de voir/gérer l’état des cartes réseau :
apt install ethtool

On définit la carte à gérer :
iface=ethX

et on peut consulter une carte avec :
sudo ethtool $iface ou
sudo ethtool $iface | grep -i Wake-on

et on a notamment les lignes :

Supports Wake-on: pumbg
Wake-on: d

Chaque lettre a une signification, trouvable dans man ethtool, et qui sont :

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.

Le WoL implémenté généralement est le “MagicPacket™”, il faut donc avoir que la carte supporte “g”.

L’état “Wake-on” correspond à l’état actuel ; on voit ici qu’il est désactivé, donc si j’éteins le poste, la carte-réseau n’aura aucune LED allumée et il sera impossible de le rallmuer via WoL.
À ce stade, le WoL restera désactivé même si on va dans le bios, qu’on sauvegarde, qu’on ré-éteint le poste.
Il est nécessaire de débrancher/rebrancher électriquement le poste pour que le WoL recommence à fonctionner.

Pour activer le WoL, il faut entrer cette commande :
sudo ethtool -s $iface wol g

dont la réussite se voit dans la sortie de :
sudo ethtool $iface | grep -i Wake-on

Si on éteint le poste, le WoL restera activé.
Mais au prochain boot, le status WoL sera à nouveau défini sur d !

Il faut donc l’activer à chaque démarrage.
Des infos ici : https://wiki.debian.org/fr/WakeOnLan

Je passe par la méthode de création d’un service systemd : On peut créer le fichier de définition du service avec cette commande, à lancer en root :

if [ -z "$iface" ] ; then echo -e '\nIl faut définir la variable $iface !\n' ; else echo "[Unit]
Description=Configure Wake-up on LAN

[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s $iface wol g

[Install]
WantedBy=basic.target" > /etc/systemd/system/wol.service ; fi

On active le service au démarrage, ainsi qu’immédiatement, et on recharge le démon systemd :

sudo systemctl enable wol
sudo systemctl start wol
sudo systemctl daemon-reload

On doit normalement avoir “g” sur le paramètre “Wake-on” à chaque démarrage, et donc pouvoir éteindre le poste via poweroff en maintenant le status WoL actif.

Paramétrage Windows

https://www.dell.com/support/kbdoc/en-uk/000129137/wake-on-lan-wol-troubleshooting-best-practices

Il semblerait que ce soit via le gestionnaire de périph, aller dans les propriétés du NIC -> Power Management ->
Allow this device to wake the computer
Only allow a magic packet to wake the computer

advanced tab
Energy-Efficient Ethernet -> Disabled

config panel :
Turn on fast startup ?

Allumage à distance

On note l’adresse mac de la cible à réveiller :
distantmacaddr=00:11:22:33:44:55

Sous Debian il y a au moins 2 outils pour réveiller un poste via WoL :
sudo apt install etherwake wakeonlan

On peut utiliser etherwake, qui nécessite les droits root et de préciser explicitement l’interface qui envoie le paquet magique :
sudo etherwake -i ethX $distantmacaddr

ou bien wakeonlan :
wakeonlan $distantmacaddr

Consommation électrique

Sur l’Optiplex 3050, je constate environ 0.9W lorsque le poste est éteint avec WoL activé.

En phase de BIOS/démarrage, je constate environ 20W, et lorsque Debian est lancé mais sans aucune activité, je constate environ 9W.

En lançant quelques processus u peu gourmands en CPU/RAM/disque (mais sans être un test intensif non plus), je monte à 40W.