最近,我将 ASUS PN50 Mini PC 从 kinetic/22.10 升级到 lunar/23.04,从那时起,局域网唤醒就停止工作了。升级前后,WoL 在 BIOS 中处于启用状态(现在仍然处于启用状态)。当 PN50 运行时,我还可以看到收到了 WoL 数据包:
# 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...
在升级之前和之后,wol-service 已经存在(现在仍然存在),可以通过 ethtool 在启动时启用 WoL:
[Unit]
Description=Configure Wake-up on LAN
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s enp2s0f0 wol g
RemainAfterExit=yes
[Install]
WantedBy=basic.target
服务状态似乎正常:
$ 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
还确认 WoL 已启用:
# ethtool enp2s0f0
Settings for enp2s0f0:
...
Supports Wake-on: pumbg
Wake-on: g
...
其他系统设置似乎也证实了这一点:
# 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
我在日志中没有发现任何可疑的东西,但实际上我也不知道到底要注意什么。
关于如何修复此问题(或者可能只是进一步调试此问题)有什么想法吗?