WakeOnMac

Icon

A simple program that can send “magic packets” to wake up sleeping computers supporting Wake on LAN (called Wake for Ethernet network administrator access in Mac OS X).

WakeOnMac 1.0 is a Universal application compatible with PowerPC and Intel Macs running Mac OS X versions 10.4 and higher.

Download WakeOnMac 1.0

Screenshot

Version History:

1.0 (7/24/06):
- First public release

FAQ:

What does this software do and how does it work?
WakeOnMac sends a special broadcast packet over a local area network to wake a specific computer from sleep (and in some cases, it can power on a computer when it’s off). Computers that work with Wake on LAN listen on the network for these special “magic packets” even while asleep (and again, in some cases, when powered off). When a computer receives a magic packet, it wakes up.

How do I use WakeOnMac?
First, click the “New Computer” icon in the main window to create a new entry in the list. When you click the button, the Info panel pops up and you can enter the required information about a computer you want to wake up. You can put whatever you want in the computer name field. Put the MAC address of the computer’s network card in the MAC address field. Put the computer’s network IP address into the IP address field, and put the subnet mask of the network into the subnet mask field. The broadcast address is calculated automatically from the IP address and subnet mask, and is the actual address to which the magic packet is sent. Computers you put in this list are saved and appear every time you open up the program. To wake the selected computer, click the Wake icon in the main window. You can select multiple computers to wake using the normal Mac interface standards--hold down the Command (Apple) key and click on multiple entries to highlight them one by one, or click on a beginning entry and hold down the shift key while clicking on an ending entry to select contiguous entries.

How do I find the MAC address, IP address, and subnet mask?
All three can be found in the Network System Preferences on the machine you want to wake up (assuming it is running Mac OS X). Click on the Apple menu, choose System Preferences, and click Network. Double-click on the network interface that you want to wake it up over (this will probably be Ethernet). Click on TCP/IP in the tabs that appear. The IP address and subnet mask should appear. Next, click the Ethernet tab. The MAC address is the Ethernet ID.

What is up with the broadcast address field in the Info panel?
Wake on LAN packets are sent as broadcast packets so they can be seen by the entire network. When I designed WakeOnMac, there were two choices: one, the program could just ask for the network’s broadcast address, or two, the program could ask for the IP address and subnet mask of the computer to wake and calculate the broadcast address on its own. I figured that option number two would be easier to understand for most users, so I went with that. It still shows the broadcast address just for reference.

What if my computer’s IP address is dynamically assigned by my router using DHCP?
Your specific IP address actually doesn’t matter. It’s only used along with the subnet mask to calculate the broadcast address, which is the same for every IP address on the same subnet. So in effect, you just need to enter a random IP address that is on your local network, and WakeOnMac will continue to work no matter which address your router assigns to the computer you’re waking.

Does it work over AirPort?
I can verify that it won’t wake up a MacBook Pro over a wireless network, but I haven’t tested it with other Apple (or non-Macintosh) laptops. I would guess that it doesn’t, because that would require the wireless network to be active while the computer is asleep, lessening battery life.

Can I use it to wake a computer over the Internet?
Theoretically it would work, but most routers at the last hop will discard broadcast packets because they can be used for bad things. If the router of the computer you’re attempting to wake doesn’t discard broadcasts, it should work. Most do, though, so there’s a good chance it won’t work. The solution would be to keep one computer in the same network on at all times with a server that could accept remote requests and do the broadcasts itself. I may or may not create software that would work like this, I just don’t know if the demand is there for it.

What is a magic packet?
It is a broadcast packet composed of a special sequence that sleeping computers listen for. The packet is sent to the network’s broadcast address. Upon receiving this packet, the computer wakes. The packet is composed of 0xFFFFFFFFFFFF followed by sixteen repetitions of the MAC address. Again, it’s sent as a broadcast packet (meaning the address where the binary representation of the host portion is all 1s). But luckily, the details aren’t needed for using this software!

It won’t work!
There are a number of things that can go wrong. First of all, make sure that Wake on LAN is enabled on the machine you wish to wake up. It’s a BIOS setting in most PCs. On Macs, verify that “Wake for Ethernet network administrator access” is turned on in the Options tab of the Energy Saver System Preferences. Also check that you entered the IP address, subnet mask, and MAC address of the machine into WakeOnMac correctly. Also, it’s important to be sure that you are on the same network as the machine you want to wake up (or are on a network that can forward it to its proper destination). Beware that some routers don’t forward broadcast packets because of the potential for abuse. Finally, some older computers (including older Macs) don’t support Wake on LAN. Some Ethernet cards for PCs have a special cable that must be connected to the motherboard to enable Wake on LAN.

I am not responsible for any harm this software does to your computer. Use at your own risk!

© 2006 Doug Brown.

By Doug Brown. Last modified 7/25/06.

Valid XHTML 1.0!