How to Enable Persistent Wake-on-LAN in Ubuntu (NetworkManager / Netplan)
Wake-on-LAN (WoL) allows you to power on your Ubuntu machine remotely by sending a "magic packet." However, Ubuntu often resets this setting back to disabled after a reboot.Here is how to enable Wake-on-LAN and make it stick permanently on systems using NetworkManager.Step 1: Verify Hardware SupportFirst, check if your network card supports Wake-on-LAN. Run ethtool with administrative privileges:bash
sudo ethtool eno1
Use code with caution.Look at the bottom lines of the output:
Supports Wake-on: pumbg(Thegmeans it supports Magic Packets).Wake-on: d(This means it is currently disabled).
Step 2: Find Your Connection Profile NameBecause modern Ubuntu setups mix Netplan and NetworkManager, you need to find the exact name of the profile controlling your interface:bash
nmcli connection show
Use code with caution.Look under the NAME column. In our setup, Netplan automatically generated a profile named netplan-eno1.
Step 3: Make the Setting PermanentInstead of writing custom startup scripts, tell NetworkManager to force Wake-on-LAN to "magic" every time the interface starts up:bash
sudo nmcli connection modify "netplan-eno1" 802-3-ethernet.wake-on-lan magic
Use code with caution.Apply the changes immediately:bash
sudo nmcli connection up "netplan-eno1"
Use code with caution.
Step 4: Get Your MAC AddressYou will need your target computer's physical hardware address to wake it up from another device:bash
ip link show eno1
Use code with caution.Copy the 12-character alphanumeric address found right after link/ether (e.g., a1:b2:c3:d4:e5:f6).
Step 5: Test It!Shut down your Ubuntu machine. From another device on the same local network, send the wake command using your MAC address.
From a Mac:bash
brew install wakeonlan
wakeonlan <MAC_ADDRESS>
Use code with caution.
From another Linux machine:bash
sudo apt install wakeonlan
wakeonlan <MAC_ADDRESS>
Use code with caution.