Thinkpad x200s 开启网络唤醒
1. 确认BIOS设置,允许电池供电下唤醒
操作路径:重启电脑,按 F1 键进入BIOS → 找到 Config → Network。
关键设置:在 Wake On LAN 选项中,请务必选择 AC and Battery 。
AC Only:只插电源适配器时才能唤醒。
AC and Battery:(推荐) 无论是否插电,都可以唤醒。这能确保你合盖带着电脑移动(使用电池)时,仍可被远程唤醒。
搜索并禁用 ErP:在 BIOS 各菜单中查找 ErP、ErP Lot 6 或 ErP Ready 选项,确保其为 Disabled。如果开启,它会在关机后切断网卡等设备的待机电源,WoL 将彻底失效。
2. 确认并配置网卡驱动 (替代 BIOS 电池选项)
如果 BIOS 里没有“AC and Battery”选项,需要在 Debian 中强制网卡保持唤醒状态,即使使用电池供电。
安装 ethtool:
打开终端,输入以下命令安装管理网卡的工具:sudo apt update sudo apt install ethtool确认网卡名称并检查状态:
输入命令查看网卡是否支持并已开启唤醒:ethtool 你的网卡名 | grep Wake-on找到网卡名:如果不确定名称,可以用 ip a 查看,通常有线网卡名为 eth0、enp0s31f6 或 enx 开头。
预期结果:如果看到 Supports Wake-on: pumbg 和 Wake-on: g,说明支持且已开启。
如果显示 Wake-on: d:说明被禁用了,需要手动开启。
手动开启 Wake-on-LAN:
sudo ethtool -s 你的网卡名 wol g
3. 设置开机自动启动
编辑当前用户的 crontab(使用 root 权限):
sudo crontab -e在文件末尾添加以下行:
@reboot sleep 15 && /usr/sbin/ethtool -s enp0s25 wol gsleep 15:等待 15 秒,确保网络管理器完全启动后再设置。
可以根据需要调整等待时间(10-30 秒均可)。
保存并退出。
重启测试:
sudo reboot重启后检查:
sudo ethtool enp0s25 | grep Wake-on应该显示 Wake-on: g。
验证 crontab 是否生效
sudo crontab -l
4. 创建 systemd 关机钩子
在系统关机前,强制网卡保持唤醒状态,避免被驱动程序关闭。
创建一个 systemd 服务文件:
sudo nano /etc/systemd/system/wol-shutdown.service粘贴以下内容,将 enp0s25 换成你实际的网卡名:
[Unit] Description=Enable Wake-on-LAN before shutdown DefaultDependencies=false Before=shutdown.target reboot.target halt.target [Service] Type=oneshot RemainAfterExit=true ExecStart=/bin/true ExecStop=/usr/sbin/ethtool -s enp0s25 wol g [Install] WantedBy=multi-user.target启用这个新服务:
sudo systemctl enable wol-shutdown.service
工作原理:ExecStart 在开机时什么也不做;ExecStop 则在每次关机时执行,强制将 WoL 设置为 g,使网卡在断电瞬间也处于待命状态。