我在 ASROCK H81M-ITX 主板上使用 Ubuntu 14.04.1。我很确定我的 BIOS 已正确配置为网络唤醒。我读到此论坛帖子关于您需要从 ubuntu 方面做什么才能使 WOL 正常工作。
但是当我尝试启用 WOL 时出现此错误:
sudo ethtool -s eth0 wol g
Cannot get current wake-on-lan settings: Operation not supported
not setting wol
这是 eth0 的 ethtool 转储。(输出中的 wol 是什么意思?)
$ sudo ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: Symmetric Receive-only
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: Unknown
Current message level: 0x000060e4 (24804)
link ifup rx_err tx_err hw wol
Link detected: yes
这H81M-ITX 手册有两个与局域网唤醒相关的配置设置:
从板载 LAN 启动:允许通过板载 LAN 唤醒系统。
PCIE 设备上电:允许系统通过 PCIE 设备唤醒并启用 LAN 唤醒。
我实际上正在使用板载 LAN,但无论如何我都已启用它们。
当我关机时,我正在使用:
$sudo shutdown -P now
关机后,主板和连接集线器的 LAN 连接指示灯均熄灭。似乎没有电。我是否需要以其他方式关机以保留以太网端口的电源?
以下是我发现的所有与睡眠状态(省电)有关的 BIOS 配置设置。这些是它们在工厂预设的当前设置:
- CPU C 状态支持:
Auto
- 增强型暂停状态 (C1E):
Auto
- CPU C3 状态支持:
Auto
- CPU C6 状态支持:
Auto
- CPU C7 状态支持:
Auto
- C 套餐国家支持:
Disabled
这 6 个配置项中的每一个都有 3 种可能的设置:自动、启用和禁用。最后一项(也是唯一被禁用的一项)的描述是“启用 CPU、PCIe、内存、图形 C 状态支持以节省电量。”这里有什么不对劲吗?
答案1
因此,ASROCK 的一位技术支持代表非常友好地研究了这个问题,并找到了有关此问题的信息。显然,由于某些相关问题,Ubuntu 驱动程序中已删除了板载 Qualcomm Atheros 以太网的局域网唤醒支持。我不完全了解问题的根源,而且我对尝试修补旧版本的 Atheros 驱动程序以尝试恢复在旧版本的 Ubuntu 中显然有效的此功能的前景并不感到兴奋。我可能会尝试寻找不使用基于 Atheros 的以太网的其他主板。
一些参考资料:
我的名声太差了,我只能发布两个活动链接。我觉得自己很肮脏。:) 这里还有另一个有用的参考资料:
答案2
许多(但并非所有)以太网设备都支持 LAN 唤醒。检查:
sudo ethtool eth0 | grep -i wake
如果您的设备不支持该功能,则没有已知的方法可以强制它执行未设计要执行的操作。
如果报告称不支持 WoL,您可以检查芯片组配置中的 BIOS。深度睡眠选项设置为多少?您可能需要将其设置为 S5,以使 NIC 在关机后保持活动状态。