Linux

通過 PHY 和單播喚醒 LAN 僅在 pm-suspend 後的前約 30 秒內有效

  • November 20, 2013

我在通過 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

好吧,愚蠢的我沒有想到這樣一個事實,預設情況下,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 系統上。

引用自:https://unix.stackexchange.com/questions/100992