Recently I upgraded my ASUS PN50 Mini PC from kinetic/22.10. to lunar/23.04
and since then Wake-on-LAN stopped working. Before and after the upgrade
WoL was (and still is) enabled in the BIOS. When the PN50 is running I can also
see that the WoL packet is received:
# ngrep '\xff{6}(.{6})\1{15}' -x port 9
interface: enp2s0f0 (192.168.0.0/255.255.255.0)
filter: ( port 9 ) and ((ip || ip6) || (vlan && (ip || ip6)))
match (JIT): \xff{6}(.{6})\1{15}
#
U 192.168.0.37:54759 -> 255.255.255.255:9 #1
ff ff ff ff ff ff f0 2f 74 c3 ee d5 f0 2f 74 c3 ......./t..../t.
ee d5 f0 2f 74 c3 ee d5 f0 2f 74 c3 ee d5 f0 2f .../t..../t..../
74 c3 ee d5 f0 2f 74 c3 ee d5 f0 2f 74 c3 ee d5 t..../t..../t...
f0 2f 74 c3 ee d5 f0 2f 74 c3 ee d5 f0 2f 74 c3 ./t..../t..../t.
ee d5 f0 2f 74 c3 ee d5 f0 2f 74 c3 ee d5 f0 2f .../t..../t..../
74 c3 ee d5 f0 2f 74 c3 ee d5 f0 2f 74 c3 ee d5 t..../t..../t...
f0 2f 74 c3 ee d5 ./t...
Before and after the upgrade a wol-service was (and still is) in place that
enables WoL at startup through ethtool:
[Unit]
Description=Configure Wake-up on LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp2s0f0 wol g
RemainAfterExit=yes
[Install]
WantedBy=basic.target
The status of the service seems ok:
$ sudo service wol status
● wol.service - Configure Wake-up on LAN
Loaded: loaded (/etc/systemd/system/wol.service; enabled; preset: enabled)
Active: active (exited) since Sat 2023-06-03 07:05:03 CEST; 1min 16s ago
Process: 932 ExecStart=/sbin/ethtool -s enp2s0f0 wol g (code=exited, status=0/SUCCESS)
Main PID: 932 (code=exited, status=0/SUCCESS)
CPU: 1ms
ethtool
also confirms that WoL is enabled:
# ethtool enp2s0f0
Settings for enp2s0f0:
...
Supports Wake-on: pumbg
Wake-on: g
...
Also other system settings seem to confirm this:
# lspci -tv
-[0000:00]-+-00.0 Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex
...
+-02.1-[02]--+-00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
| +-00.1 Realtek Semiconductor Co., Ltd. RTL8111xP UART #1
| +-00.2 Realtek Semiconductor Co., Ltd. RTL8111xP UART #2
| +-00.3 Realtek Semiconductor Co., Ltd. RTL8111xP IPMI interface
| \-00.4 Realtek Semiconductor Co., Ltd. RTL811x EHCI host controller
...
# cat /proc/acpi/wakeup
Device S-state Status Sysfs node
GPP0 S4 *disabled
GPP1 S4 *enabled pci:0000:00:01.2
GPP2 S4 *disabled
GPP3 S4 *enabled pci:0000:00:02.1 <-- should be the network dev according to lspci above
GPP4 S4 *enabled pci:0000:00:02.2
GPP5 S4 *enabled pci:0000:00:02.3
GP17 S4 *enabled pci:0000:00:08.1
XHC0 S4 *enabled pci:0000:05:00.3
XHC1 S4 *enabled pci:0000:05:00.4
GP18 S4 *enabled pci:0000:00:08.2
GP19 S4 *disabled
# cat /sys/bus/pci/devices/0000\:00\:02.1/power/wakeup
enabled
I do not find anything suspicious in the logs, but I actually also do not know exactly what to look out for.
Any ideas on how to fix this (or maybe just to debug this further)?