Wake on LAN Only Works for 30 Seconds After pm-suspend

driverslinuxnetwork-adaptersuspendwake-on-lan

I'm having some trouble with Wake on LAN through PHY and unicast. I'm able to wake the system by pinging or sshing the shut down machine, but only within the first ~30 seconds. Why's that, what could be the cause?

I put a script 70wol into /usr/lib/pm-utils/sleep.d and made it executable, it obviously is executed since it works:

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

I'm on Debian Testing, NIC is Intel I217-V on an Intel DH87RL, Driver is Intel 2.5.4 e1000e.ko

This works perfectly with a Windows 8.1 system, so I guess it's some sort of driver or OS issue.

Best Answer

Ok, silly me did not think about the fact, that Windows and Linux per default have an ARP timeout of exactly 30 seconds as one can see by doing a

netsh interface ipv4 show interface 2

in cmd.exe, where the 2 has to be replaced with the Idx of your NIC, one gets by issuing

netsh interface ipv4 show interfaces

On Linux type

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

in your bash, to see the default ARP timeout in milliseconds.

So the solution would be to set a static ARP address in order to wake a system through SSH or SMB or whatever. To do this do a

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

on Windows and a

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

on your Linux system.

Related Question