Comment activer la prise en charge Wake-on-LAN (WOL) sous Linux

Comment activer le Wake-on-LAN sur votre machine Linux sans devenir fou

Utiliser le Wake-on-LAN (WoL) sous Linux peut s’avérer complexe et parfois frustrant. On configure tout (BIOS, outils réseau) et puis… rien. Pire encore, le système indique que le WoL n’est pas pris en charge, alors que le matériel est censé l’être. Ce guide a pour but de vous simplifier la vie en vous expliquant les pièges courants et leurs solutions, afin que vous puissiez enfin sortir votre machine Linux de veille à distance sans vous arracher les cheveux.

Comment résoudre le problème de WoL sous Linux

Vérifiez que le BIOS prend en charge et que la fonction Wake-on-LAN est activée.

Voici la première étape, mais elle est souvent négligée. Parfois, ces paramètres du BIOS sont cachés dans des menus complexes, ou portent un nom différent selon la carte mère. Redémarrez votre PC, appuyez sur Suppr, F2 ou toute autre touche permettant d’ouvrir le BIOS/UEFI. Accédez à la section « Gestion de l’alimentation » ou « Avancé ».Recherchez les options nommées comme Wake on PCI/PCI-E« Activer Power on By PCI-E/ S5 Wake on LANDésactiver l’alimentation », « Activer/Désactiver l’alimentation » ou « Activer/Désactiver l’alimentation ».Activez-les. Enregistrez et quittez. Car, bien sûr, Windows complique inutilement les choses ; Linux, lui, hérite de toutes ces bizarreries.

Sur certaines configurations, ce paramètre n’est pas évident et peut être désactivé par défaut, ce qui explique pourquoi WoL ne se déclenche pas. Après l’avoir activé, redémarrez votre ordinateur et vérifiez si votre carte réseau est prête à recevoir les paquets magiques.

Installez et utilisez ethtool pour vérifier et activer le WoL.

Cet outil est une véritable bouée de sauvetage, mais sa ligne de commande peut paraître intimidante au premier abord.À quoi sert-il ? Il interagit directement avec le pilote de votre carte réseau ; ainsi, si le WoL est pris en charge, ethtool peut vous l’indiquer et l’activer. En revanche, s’il ne l’est pas ou si le pilote ne le prend pas du tout en charge, c’est la catastrophe.

Installez-le si vous ne l’avez pas déjà fait : $ sudo apt install ethtool

Trouvez votre interface Ethernet — probablement quelque chose comme enp3s0ou eth0. Listez toutes les interfaces : $ ifconfigou$ ip link

Courir: $ sudo ethtool enp3s0 | grep "Wake-on"

Vous devriez voir une valeur comme « d » (désactivé), « w » (réveil par paquet magique) ou d’autres indicateurs. Si la fonction est désactivée, essayez : $ sudo ethtool --change enp3s0 wol g

Cette commande indique à la carte réseau d’accepter les paquets magiques. Si la modification est confirmée, c’est parfait ! C’est la première étape. Si vous obtenez une erreur netlink error: cannot enable unsupported WoL mode (offset 36), cela signifie que votre matériel ou votre pilote ne prend pas en charge le Wake-on-LAN sur cette interface.

Pour que WoL reste actif après un redémarrage, utilisez NetworkManager ou systemd.

Car, bien sûr, Linux réinitialise ces paramètres au redémarrage. Il vous faut donc automatiser cette opération. Voici quelques solutions :

Méthode 1 : Utilisation de nmcli (pour NetworkManager)

De nombreuses distributions, notamment Ubuntu, Debian, Rocky et Fedora, utilisent NetworkManager. Vous pouvez activer le Wake-on-LAN (WoL) avec la commande : $ nmcli con showpour lister les connexions, puis trouver votre connexion filaire. Elle affichera des noms tels que « Connexion filaire 1 » ou des noms personnalisés.

Activez WoL pour cette connexion : $ sudo nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Vérifiez si cette option est activée : $ nmcli c show "Wired connection 1" | grep 802-3-eth

Si le résultat est flou ou ne fonctionne pas, vous devrez peut-être le réappliquer à chaque démarrage ou l’intégrer aux routines de démarrage.

Méthode 2 : Utiliser systemd pour exécuter ethtool au démarrage

C’est un peu bricolé, mais ça fonctionne bien. En gros, il s’agit de créer un service systemd qui exécute la ethtoolcommande au démarrage, afin d’activer automatiquement WoL à chaque fois.

Créez un fichier à l’emplacement suivant /etc/systemd/system/wol.serviceavec le contenu suivant :

[Unité] Description=Activer Wake-on-LAN Après=network-online.cible [Service] Type=oneshot ExecStart=/sbin/ethtool --change enp3s0 wol g [Installer] RecherchéPar=network-online.cible 

Remplacez enp3s0par le nom réel de votre interface. Enregistrez le fichier, puis exécutez : $ sudo systemctl daemon-reload `$ sudo systemctl enable wol.service` `$ sudo systemctl start wol.service`

Vérifier l’état avec : $ systemctl status wol

Ainsi, le WoL devrait s’activer automatiquement après chaque redémarrage, ce qui est un soulagement.

Tester et envoyer des paquets magiques

Une fois la configuration terminée, il est temps de tester. Vérifiez que votre machine prend bien en charge les modes de veille comme la suspension (à vérifier avec [nom de l’ $ systemctl status suspend.targetoutil/méthode]) et éteignez-la pour effectuer le test, ou mettez-la en veille. Ensuite, utilisez une application cliente ou des outils en ligne de commande comme Wake-on-LAN ou EtherWake pour saisir l’adresse MAC.

Installez l’outil : $ sudo apt-get install wakeonlan etherwake

Envoyez votre paquet magique : $ wakeonlan <MAC-address>ou : $ etherwake <MAC-address>

Si votre configuration réseau n’est pas trop restrictive et que le BIOS est correctement configuré, votre PC devrait se réveiller. Notez que les paquets WoL fonctionnent généralement uniquement au sein du même segment LAN ; aucun routage n’intervient ici.

Dernière précision : ces commandes et étapes de configuration ne sont pas garanties de fonctionner avec toutes les configurations matérielles, mais elles couvrent la plupart des cas. Certaines cartes réseau ne prennent tout simplement pas en charge le Wake-on-LAN (WoL), ou le pilote peut présenter des dysfonctionnements ; vérifiez donc les spécifications matérielles si le problème persiste.

Résumé

  • Vérifiez que le BIOS a la fonction WoL activée.
  • Utilisez cette fonction ethtoolpour vérifier et activer/désactiver la prise en charge de WoL.
  • Rendre WoL persistant via NetworkManager ou des scripts systemd.
  • Testez avec wakeonlanou etherwake.

Conclure

Configurer le Wake-on-LAN (WoL) sous Linux relève parfois davantage de la résolution de problèmes de compatibilité matérielle et de pilotes que de la maîtrise du logiciel lui-même. Mais une fois configuré, c’est très pratique : réveiller des serveurs ou un PC depuis une autre pièce sans SSH est un vrai plus. Sachez simplement que parfois, votre carte réseau ne prend tout simplement pas en charge le WoL, malgré tous vos efforts de configuration. Espérons que ce guide aidera certains à surmonter les obstacles et à rendre les réveils à distance fiables.