ASRocK.N3150TM-ITX 安装ubuntu后,无法使用wol开机的解决办法

younghuie2周前 (01-12)ubuntu相关16

这是一个很有意思的事件,该主板很久买了,大概十年了,一直吃灰状态,最近内存和硬盘疯涨,想着搞个ubuntu玩玩,个人需求,需要能smb共享,需要能远程开机wol,需要能输出音频。看了看主板说明书,支持wol的,windows操作系统中,网卡设置一下属性就行了,研究了半天ubuntu下搞不定,后来问了chatgpt,也是一直带着我兜兜转转,后来我无意间发现了一个非常奇怪的现象,如果把电源拔掉,然后过会儿再插上,居然就可以远程开机(wol)了,前提是pcie device power on已经打开了,deep s5已经关闭。发现这个现象后,就明白了,电源重新上电瞬间 BIOS 会重新配置网卡,但是如果是正常的linux关机,系统关机前会将wol设置清楚,应该是系统或者驱动原因,本身硬件没毛病。


重要:

1、主板关闭deep s5

2、打开pcie device power on 


这里是Ubuntu server 24.04

先执行:

ethtool enp3s0 | grep Wake-on

如看到:

Wake-on: d

那应该不行。执行一次:

ethtool -s enp3s0 wol g

然后:

shutdown -h now

然后试试使用wol工具,看看能不能开机,如果可以的话,进行如下操作:

搞个bash文件:

#!/bin/bash
set -e

IFACE="enp3s0"

echo "==> [1/5] 确保 ethtool 已安装"
if ! command -v ethtool >/dev/null 2>&1; then
    apt update
    apt install -y ethtool
fi

echo "==> [2/5] 创建 systemd .link 文件(永久 WOL)"
cat > /etc/systemd/network/99-wol.link <<EOF
[Match]
OriginalName=${IFACE}

[Link]
WakeOnLan=magic
EOF

chmod 644 /etc/systemd/network/99-wol.link

echo "==> [3/5] 添加关机兜底脚本(防驱动清空)"
cat > /lib/systemd/system-shutdown/enable-wol <<EOF
#!/bin/sh
/sbin/ethtool -s ${IFACE} wol g
EOF

chmod +x /lib/systemd/system-shutdown/enable-wol

echo "==> [4/5] 重新加载 udev + networkd"
udevadm control --reload
udevadm trigger -c add -s net

systemctl restart systemd-networkd
sleep 2

echo "==> [5/5] 当前 WOL 状态:"
ethtool ${IFACE} | grep -E "Supports Wake-on|Wake-on"

echo
echo "======================================"
echo "✅ WOL 已写入 systemd 链路层(真正永久)"
echo "👉 现在执行:reboot"
echo "👉 重启后关机测试 WOL(不要拔电)"
echo "======================================"

执行后重启:

reboot

再次查看wol状态:

ethtool enp3s0 | grep Wake-on

如果显示:

Wake-on: g

那就是大功告成了。


实测关机状态下,电源多消耗0.2w。

分享给朋友:
返回列表

上一篇:给ubuntu 25.10 server配置增加一个usb网卡

没有最新的文章了...