Prerequisites for WakeOnLan:
You will need to enable WakeOnLan in the machine's BIOS, and you will need to know the NIC's MAC address.
From another machine you can then use ether-wake to send the special Ethernet frame:
$ ether-wake $MACADDRESS
If you add an entry mapping MAC addresses to hostnames to /etc/ethers, you will also be able to simply say
$ ether-wake <hostname>
Pre-compiled packages of ether-wake exist for most LinuxDistributions. In Debian, it's called etherwake, but the version available in Woody doesn't seem to support /etc/ethers.
Some Linux NIC drivers seem to disable the WakeOnLan function of the network card. If you can use WakeOnLan after booting into Windows, but not at all after booting into Linux, your driver is probably one of them. ethtool allows you to change this. An initial query of an interface's properties will look something like this:
$ ethtool eth0 Settings for eth0: Supports Wake-on: g Wake-on: d Link detected: yes
Here, MagicPacket (type g) WakeOnLan support is available but disabled (Wake-on: d). You can change this with a swift
$ ethtool -s eth0 wol g
This time, a query to confirm the result should produce something like this output:
$ ethtool eth0 Settings for eth0: Supports Wake-on: g Wake-on: g Link detected: yes
Note that you'll need to change the setting anew on every boot, so stick the command in rc.local or whichever boot script is applicable.
-- Which open ports do you need to open for ether-wake. Could anyone explain? -- thx
4 pages link to WakeOnLanNotes: