Just took a while to get Wake-On-Lan Running on an MSI B450M Pro-M2 motherboard running Ubuntu 22.04
Using the WakeMeOnLan windows utility installed by
choco install wakemeonlan and the default settings:
Enable Wake-On-LAN in the BIOS
Press delete at startup to get into BIOS and then in Advanced Mode
Disable ErP: (The MSI docs say disable EUP 2013 but that wasn’t in my BIOS)
Settings => Advanced => Power Management Setup => Erp Read [Disabled]
Settings => Advanced => Wake Up Event Setup => Wake Up Event By [BIOS]
Settings => Advanced => Wake Up Event Setup => Resume By PCI-E Device [Enabled]
The rest of the settings under “Wake Up Event Setup” are [Disabled]
Enable Wake-On-LAN in the Operating System
Using the exellent ArchLinux documentation at https://wiki.archlinux.org/title/Wake-on-LAN
See the above link as it is better formatted. But copied here so I can refer back if I lose the above link.
I did two things from the above link but I think only one is needed.
1) Add a systemd config file
/etc/systemd/network/50-wired.link [Match] MACAddress=aa:bb:cc:dd:ee:ff [Link] NamePolicy=kernel database onboard slot path MACAddressPolicy=persistent WakeOnLan=magic
2) My system is using Network Manager so the effective change is as follows:
NetworkManager provides Wake-on-LAN ethernet support. One way to enable Wake-on-LAN by magic packet is through nmcli.
First, search for the name of the wired connection:
# nmcli con show
NAME UUID TYPE DEVICE wired1 612e300a-c047-4adb-91e2-12ea7bfe214e 802-3-ethernet enp0s25
By following, one can view current status of Wake-on-LAN settings:
# nmcli c show "wired1" | grep 802-3-ethernet.wake-on-lan
802-3-ethernet.wake-on-lan: default 802-3-ethernet.wake-on-lan-password: --
Enable Wake-on-LAN by magic packet on that connection:
# nmcli c modify "wired1" 802-3-ethernet.wake-on-lan magic
Then reboot, possibly two times. To disable Wake-on-Lan, substitute
The Wake-on-LAN settings can also be changed from the GUI using nm-connection-editor.
You can disable Wake-on-Lan for all connections permanently by adding a dedicated configuration file :
[connection] ethernet.wake-on-lan = ignore wifi.wake-on-wlan = ignore