The reason that WoL was not working was presumably not the BIOS (which I did update to the current version (E7C02AMS.360)), it was neither the router nor the network cable – as mentioned elsewhere – and my BIOS settings were correct as well.
It turns out that contrary to my other computers it is not enough to simply turn on the settings in the BIOS as shown below. The operating system must inform the motherboard Ethernet subsystem “which kind of WoL” it should use – otherwise that setting, which is not accessible from the BIOS, stays disabled, nothing will happen and it looks as if WoL were not working at all.
The most common WoL option is the so called Magic Packet which can be sent by utilities like etherwake (on Linux) or Wake-on-LAN (on Android), but apparently there are other options as well.
Windows user can specify the option to use in the Control Center, but I’m not running Window, I’m using Ubuntu Linux 20.04 LTS… What to do? The answer is ethtool.
Let’s start with the BIOS settings:
Settings\Advanced\Integrated Peripherals
Onboard LAN Controller: Enabled ... (which is the default)
Settings\Advanced\Power Management Setup
ErP Ready: Disabled ... (which is the default)
Settings\Advanced\Wake Up Event Setup
Resume By PCI-E Device: Enabled
With Linux running, determine the device identifier of your onboard Ethernet “card” using the ifconfig command:
ifconfig
If ifconfig is not installed run:
sudo apt install net-tools
Furthermore you need ethtool:
sudo apt install ethtool
The name of my ethernet device is: enp34s0
Change the following commands accordingly.
Enter:
sudo ethtool enp34s0
Look for the line “Wake-on:”. If the value in this line is “d” then the WoL function is (d)isabled. To make it react to the WoL Magic Packet is has to be set to “g”.
sudo ethtool -s enp34s0 wol g
Check the setting again with:
sudo ethtool enp34s0
Shut-down the computer and try to wake it with a WoL tool as mentioned above.
This command needs to be executed after each boot. The simplest way to achieve this is to append or create the file /etc/rc.local:
#!/bin/bash
ethtool -s enp34s0 wol g
exit 0
Don’t forget to make it executable:
sudo chmod 744 /etc/rc.local
A more elaborate way can be found here. Note: Check the path of ethtool with “which ethtool” and correct the script accordingly.
Wake-up happy….
Links
- https://www.thomas-krenn.com/en/wiki/Wake_On_LAN_under_Linux
P.S.: Here is the German version of the BIOS options:
Settings\Erweitert\Integrierte Peripheriegeräte
Onboard LAN Controller: Aktiviert (default)
Settings\Erweitert\Energieverwaltungs Konfiguration
ErP Ready: Deaktiviert (default)
Settings\Erweitert\Einrichtung der Reaktiverungsereignisse
Fortsetzung durch PCI-E-Gerät: Aktiviert
1 Kommentar:
Thank you very much for your post. Had same task at hand and was able to achieve WoL with you help.
Kommentar veröffentlichen