通过 PHY 唤醒 LAN 和单播仅在 pm-suspend 后的前 30 秒内起作用

通过 PHY 唤醒 LAN 和单播仅在 pm-suspend 后的前 30 秒内起作用

我在通过 PHY 和单播进行 LAN 唤醒时遇到一些问题。我可以通过 ping 或 ssh 关闭已关闭的计算机来唤醒系统,但只能在前 30 秒内完成。这是为什么,可能是什么原因呢?

我将脚本放入70wol其中/usr/lib/pm-utils/sleep.d并使其可执行,显然它会被执行,因为它可以工作:

#!/bin/bash
ethtool -s eth0 wol pug

我正在进行 Debian 测试,网卡是 Intel DH87RL 上的 Intel I217-V,驱动程序是 Intel 2.5.4 e1000e.ko

答案1

好吧,愚蠢的我没有想到这样一个事实,即 Windows 和 Linux 默认情况下的 ARP 超时正好是 30 秒,可以通过执行以下操作看到

netsh interface ipv4 show interface 2

在 cmd.exe 中,其中 2 必须替换为您的 NIC 的 Idx,可以通过发出

netsh interface ipv4 show interfaces

在 Linux 上类型

cat /proc/sys/net/ipv4/neigh/default/base_reachable_time_ms

在 bash 中,查看默认 ARP 超时(以毫秒为单位)。

因此,解决方案是设置静态 ARP 地址,以便通过 SSH 或 SMB 或其他方式唤醒系统。为此,请执行以下操作:

arp -s 10.0.0.200 00-10-54-CA-E1-40

在 Windows 和

arp -s 10.0.0.200 00:10:54:CA:E1:40

在你的 Linux 系统上。

相关内容