我正在使用 Ubuntu 服务器 20.04,并且已经设置了局域网唤醒。当我关闭计算机时,一切正常,我可以唤醒它。但是当我将其暂停时:无法通过局域网唤醒它。有人遇到过这个问题吗?如果有人有解决方案,非常欢迎您。
谢谢
答案1
网络唤醒功能是一种硬件设置,而不是操作系统控制的功能,因此技术上机器在收到魔术包时保持挂起状态是有道理的。话虽如此,对于希望服务器唤醒并恢复运行的人来说,这可能会相当麻烦。
首先,让我们确认网卡使用的驱动程序是否支持 WoL。打开终端并输入:
sudo ethtool <interface>
笔记:务必更换 <interface>
替换为设备名称。如果你不确定设备名称是什么, ip link show
将提供接口名称。
输出应如下所示:
Settings for enp0s31f6:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Supported FEC modes: Not reported
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Advertised FEC modes: Not reported
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Wake-on
检查包含字母的值那不是 d
。如果确实如此,则意味着要唤醒机器,它需要接收“MagicPacket”而不是其他东西。机器可能会监听几种不同的选项。完整列表可以找到在文档中(搜索字符串Wake-on-LAN options
)。
如果值为d
,则表示唤醒值已禁用。如果是这种情况,您可以使用以下命令启用它:
sudo ethtool -s <interface> wol g
-s
表示“设置”,<interface>
表示网络接口,wol
表示“局域网唤醒”,g
表示“MagicPacket”。您还可以选择其他唤醒选项,这些选项已记录在上面的链接中。
不幸的是,此命令需要在每次系统启动时运行,因此请确保将其添加到适当的启动脚本中,例如up
中的部分规则/etc/network/interfaces
。
希望这能为您提供让您的机器从挂起状态唤醒所需的信息。
答案2
当我这样做时它对我有用:
sudo systemctl suspend
代替:
systemctl suspend