Wake On LAN

It is really easy to leave your workstation powered off and turn it on remotely as needed.

  1. Your ethernet card and workstation must support it, use ethtool to query the NIC

    ethtool eth0

    The output should contain the lines:

    Supports Wake-on: g
    Wake-on: g

    This indicates that Wake-on-LAN will work with a MagicPacket.

    • You may need to modify your initscripts to set this. For example on Redhat/Fedora edit /etc/sysconfig/network-scripts/ifcfg-eth0 and add:

      ETHTOOL_OPTS="wol g"
  2. Take note of your MAC address:

    ip link
  3. Shut down your machine. Some BIOSes will only power on from the ACPI "S5" state, which is set when the OS shuts down cleanly. Powering-off the machine from the BIOS or outside the OS will not set the ACPI state to S5.
  4. Now run ether-wake from another machine on the LAN:

    ether-wake YOUR_MAC_ADDRESS
    Voila!

Troubleshooting

  • Try pulling out the power cord to reset any card state
  • Upgrade to the latest kernel, or recompile your kernel to include the latest ethernet driver

  • Ensure that your when shutdown scripts call halt that it is not called with the -i flag

  • You may need to change your shutdown scripts to enable Wake On Lan just before poweroff. For Redhat/Fedora you could make an executable /sbin/halt.local with contents of:

    echo "Running local halt script"
    ifconfig eth0 up
    ethtool -s eth0 wol g
    ethtool eth0 | grep -i wake
    sleep 5
  • For an older BIOS you may need to boot with acpi=force