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