Put simply,
Wake on LAN is a feature found in most
network cards which allows you to remotely turn a machine
on. It works by detecting for a certain "
magic" packet. When received by the card, it will boot the machine. Wake on LAN is sometimes abbreviated
WOL.
What you need
- A suitably equipped motherboard.
Most modern motherboards now come with a Wake on LAN connector. This is used by the network card to signal the machine to turn on.
- A suitably equipped NIC.
Again, most modern network cards now come with a Wake on LAN connector on them. They need to be able to detect the magic Wake on LAN packet.
- A Wake on LAN cable
This connects the NIC to the motherboard.
- No special OS support
Wake on LAN is done entirely in hardware. You do not need to install any special software on your machine to enable Wake on LAN on it. (You need software on another machine to send the data needed to boot it)
How to set up Wake on LAN
- Obtain above list of needed hardware.
- Open your machine up.
- Connect the NIC to the motherboard with the cable. I had to remove one of my other expansion cards while doing this on my machine as the Wake on LAN connector was underneath it. The connector is three pin and identical at both ends. If in doubt, look at the manual for your motherboard.
- Switch on your machine and go into the BIOS setup.
- Check that Wake on LAN is enabled in your BIOS, otherwise your machine will not boot.
Once you have done this, Wake on LAN should work.
Testing
To
boot a machine using Wake on LAN, you must know the
MAC address of the network card. You then need a tool to send the
magic wake up packet. I use
etherwake by
Donald Becker. You can find it here:
ftp://ftp.scyld.com/pub/diag/
This is for
Linux; obviously, wake up tools exist for other operating systems as well.
First you must obtain the MAC address. In Linux, you can find this through the "ifconfig" program. Under Windows you can use "ipconfig".
$ ifconfig
eth0 Link encap:Ethernet HWaddr BA:DD:AD:BE:EF:40
inet addr:10.0.3.126 Bcast:10.0.15.255 Mask:255.255.240.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
....
The MAC address is displayed in the "HWaddr" field. Here it is "BA:DD:AD:BE:EF:40".
To boot a machine with this MAC address, then:
$ etherwake BA:DD:AD:BE:EF:40
How it works
The
network card listens to the network for its
MAC address repeated 16 times. If it finds such a packet, the card enables the output to the Wake on LAN connector, telling the
motherboard to boot the machine.
I have only tested this by booting from a machine on the local network, but this presumably means you can boot machines on remote networks by sending packets to the broadcast address for that network.
Further information
Some cards support "
passwords", stopping
malicious people booting machines when you dont want them to. This isnt very common, however.
The Wake on LAN connector can be used to boot the machine for other reasons; some modems support Wake on Ring, for example.
The Wake on LAN mini-HOWTO is useful:
http://gsd.di.uminho.pt/jpo/software/wakeonlan/mini-howto/