我之前使用的是 12.04 版。最近我将其升级到了 14.04 版。升级前,我已将整个硬盘复制到同一型号的硬盘上(两个硬盘都是同时购买的)。如果我这样做
sudo pm-hibernate
或者在桌面 UI 中选择“关机”,12.04 版中的局域网唤醒功能便可正常工作。
我将 12.04 的完整硬盘副本升级到 14.04。使用相同的硬件,局域网唤醒不起作用。如果我执行相同的步骤。
我试过了sudo ethtool -s enp2s0 wol g
(enp2s0 是网络接口名),但是之前是在 g 中。所以没有效果。
NETDOWN=no
我新安装了 16.04.1,设置后只能唤醒一次/etc/default/halt
,但再次验证后却无法唤醒。
/etc/network/interfaces
在接下来的 6 行末尾添加
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto enp2s0
iface enp2s0 inet static
address 192.168.0.12
netmask 255.255.255.0
gateway 192.168.0.1
up ethtool s enp2s0 wol g
确实如此,但sudo pm-hibernate
无法唤醒。只有一次,当我登录并在 UI 本地单击关机时,它才起作用。之后尝试了几次,但都没有成功。
答案1
请注意,我已经在 bios 和 ethtool 中启用了 wakeonlan。在我进行 dist-upgrades 后,它在某些时候停止工作。
我可以通过以下方式让它在 17.04 上运行:
1)使用以下命令安装 tlp 包:
sudo apt-get install tlp
2)更改“/etc/default/tlp”中的以下行:
WOL_DISABLE=Y
到
WOL_DISABLE=N
3) 关闭计算机后,可以使用 WOL 启动。我在两台不同的机器上进行了测试,结果都正常。
运行此解决方案一段时间后,我发现了一个意想不到的副作用,即我的一些 USB 设备断电了。我最终通过更改“/etc/default/tlp”中的行来禁用 tlp 的 USB 自动暂停功能,该行显示
USB_AUTOSUSPEND=1
到
USB_AUTOSUSPEND=0