1、确定主板是否支持 WOL

H110I-PLUS 主板规格参数网址: H110I-PLUS - 规格参数|主板|ASUS 中国

华硕bios网卡设置方法 华硕主板bios网卡设置_华硕bios网卡设置方法

 2、设置 BIOS 启用 WOL

参考:[主板]BIOS如何设置启用网络唤醒(WOL: Wake On Lan)功能 | 官方支持 | ASUS 中国

进入 BIOS,设置 [Advanced] - [APM Configuration] - [Power On By PCI-E] 选项,改为 [Enabled],保存重启。

现在的操作系统可能是因为使用 EFI 的原因,硬件不单由 BIOS 管理,系统启动后,也会由系统接手管理。这里仅设置 BIOS 启用 WOL 还不够。如果你没装系统,通常可以发送魔术包来唤醒主机,但如果启动了系统后,再关机,默认状态下,是无法通过魔术包来唤醒的。估计是操作系统在初始化时,设置了 WOL 停用状态。

3、操作系统设置

如上所述,还需要在操作系统中设置,启用内置网卡 WOL 选项。在官方网页只提供了 Windows 系统的设置,没有 Ubuntu 系统的说明。

参考:WakeOnLan - Community Help Wiki (ubuntu.com)

Ubuntu 的 Wiki 中描述了相关设置,需要用到工具 ethtool,需要先使用 apt-get install ethtool。

查看网卡当前的 WOL 设置:(需要使用 sudo,普通用户看不到 WOL)

sudo ethtool enp3s0

华硕bios网卡设置方法 华硕主板bios网卡设置_linux_02

 修改 WOL 设置:

sudo ethtool -s enp3s0 wol g

这条命令需要在每次开机时执行一次。Wiki 中的方法过时了,应该是没有及时更新,当前系统的网络管理使用 netplan,/etc/network/interfaces 已经不用了。

参考:server - netplan: how to run script on if-up of specified device only - Ask Ubuntu

可以在 /etc/networkd-dispatcher/routable.d 中创建脚本,文件名是数字+字母,数字代表执行优先级,如 0wol,输入代码:

#!/bin/sh

ethtool -s enp3s0 wol g

记得 chmod 775 0wol,添加 x 可执行属性。

华硕bios网卡设置方法 华硕主板bios网卡设置_运维_03

 


经过以上步骤,测试网络唤醒成功。