July 23, 2022

Getting WOL working on Manjaro 20

Getting WOL working on Manjaro 20

This one was quite a battle to conquer, but I got there in the end, so I hope this helps you get there quicker with a lot less trial and error.

First up, make sure that you have changed these lines in the conf file at

/etc/tlp.conf

By default WOL_DISABLE=Y, change this to reflect the below.

TLP_ENABLE=1
WOL_DISABLE=N

From the Arch WIKI - https://wiki.archlinux.org/index.php/Wake-on-LAN#udev

"udev is capable of running any command as soon as a device is visible. The following rule will turn on WOL on all network interfaces whose name matches enp*. The file name is important and must start with a number between 81 and 99 so that it runs after 80-net-setup-link.rules, which renames interfaces with predicable names. Otherwise, NAME would be undefined and the rule would not run."

So lets edit, or create if required the file

/etc/udev/rules.d/81-wol.rules

and then add the content below

ACTION=="add", SUBSYSTEM=="net", NAME=="enp*", RUN+="/usr/bin/ethtool -s $name wol g"

Note: The $name placeholder will be replaced by the value of the NAME variable for the matched device.

Ensure we have the correct Network Manager settings. To get the Ethernet name:

nmcli con show

With name (replace my "Wired connection 1") run:

nmcli c show "Wired connection 1" | grep 802-3-ethernet.wake-on-lan

If it doesn't say:


802-3-ethernet.wake-on-lan:             magic
802-3-ethernet.wake-on-lan-password:    --

Then you need to set it using:

nmcli c modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic

Reboot and check it's all working again:

nmcli c show "Wired connection 1" | grep 802-3-ethernet.wake-on-lan

Should now show 'magic' correctly and you can sleep/hibernate/shutdown and test now!