要想要开启网络唤醒,首先就要在电脑的 BIOS 中开启网络唤醒功能。这个每个电脑的 BIOS 都有自己不同的设置方式,所以请根据实际情况进行设置。配置好了后就可以进入系统中进行配置了。
安装 ethtool
首先,你需要安装 ethtool 工具。在 Debian 中,你可以使用以下命令进行安装:
1 | sudo apt update -y |
确认网卡
要确认你的网卡名称,你可以使用以下命令:
1 | ip link show |
输出结果中,你需要找到你的网卡名称。我的网卡是名称是 enp3s0。记住这个名称。
查看网卡状态
要查看你的网卡状态,你可以使用以下命令:
1 | ethtool enp3s0 |
输出结果中,你需要找到 Supports Wake-on 行。后面一般是pumbg,表示支持多种唤醒方式,其中 g 是Magic Packet唤醒,就是我们常说的Wake-on-LAN。
下面一行的Wake-on后面的参数代表当前的状况,一般默认都是d,表示目前是禁用状态。
启用Wake-on-LAN
临时启用Wake-on-LAN
1 | sudo ethtool -s enp2s0 wol g |
这个重启就会失效了。
要永久可以使用一些开机脚本来设置,这里使用了systemd。
创建一个文件,目录如下命令。
1 | sudo vim /etc/systemd/system/wol@.service |
输入以下内容:
1 | [Unit] |
说明:
%i是 systemd 的占位符,表示当前正在使用的网卡名称。oneshot类型表示只执行一次命令即可。
创建好后我们就可以启用服务了(指定的是我的网卡名字 enp2s0 这里根据自己的修改)。
1 | sudo systemctl enable wol@enp2s0.service |
验证是否成功
验证是否成功,我们可以继续使用 ethtool 命令查看网卡的唤醒状态。
1 | ethtool enp2s0 | grep Wake |
应该会输出:
1 | Supports Wake-on: pumbg |
然后就可以通过一些网络唤醒软件来唤醒你的计算机了。