If you don’t keep your home machines running all the time, you can power them on remotely with Wake-on-LAN. Doing things manually is a pain, but you can schedule computers to wake up automatically everyday using DD-WRT.
Being energy-conscious is a great thing. Why leave your computers on when you’re not home to use them? This situation is especially true with home theater PCs – you only really need them on when you’re home to watch stuff. The problem is that it can be a hassle to have to turn them on and wait for them to boot or wake them from sleep mode. Sure, you can use Wake-on-LAN to power them on remotely, but that also requires your intervention. If you’re using DD-WRT, however, you can set a schedule to automatically turn your machine(s) on so they’re ready for you.
We’re going to assume your computer is configured for Wake-on-LAN in the BIOS and/or operating system.
Basic WOL Configuration
Open up your browser and open up your router’s DD-WRT login page, then head to Administration > WOL.
Here, you can easily send Wake-on-LAN requests to computers by checking the “Enable WOL?” box next to the computer on the Available Hosts list.
If you have a computer that isn’t listed but is connected, you can manually enter the information at the bottom of the WOL Addresses section. Just click the “Wake Up” button to wake up that computer!
To schedule a computer to wake up (if it’s not already awake) everyday, just wait until the appropriate time of day when you want them to wake up. On the WOL page, scroll down to Automatic Wake-On-LAN.
Where it says “WOL daemon,” select the “Enable” button.
Here, you can specify at what interval to wake your computer. 86400 is what we want for a daily check. Under “Host Name” you want to put the Broadcast IP for your network. For 192.168.1.X networks, this is going to be 192.168.1.255. If your computer has a “SecureOn” password for Wake-on-LAN, then you can enter that in the space provided. Lastly, enter the MAC address of the machine you want to wake at this time. You can configure multiple computers by entering multiple MAC addresses, each one in a new line. Click on Save and Apply Settings, and you’re done!
Advanced Configuration – Using Cron
If you want more specific control over when your computer wakes, DD-WRT lets you set up cron jobs for this process. Go to Administration > Management, and scroll down to the Cron section.
In this section, you want to add a line with the following format:
mm hh dd MM wd root /usr/sbin/wol -p <port> -i <IP Address> <MAC Address>
In my example above, I used the following information:
15 17 * * 1-5 root /usr/sbin/wol -p 7 -i 192.168.1.255 00:30:67:2f:4c:6c
This means that at 17 hours and 15 minutes (5:15 PM) on every weekday numbered 1-5 (Monday through Friday), that a WOL request should be sent. This request should be sent via port 7 to the Broadcast IP address 192.168.1.255 to the computer connected to 00:30:67:2f:4c:6c. If you want more information on changing cron syntax, take a look at our article Build a Download Scheduler with Little Programming Skill, and jump down to the “Linux Cron” section. There, you’ll see how to customize that beginning syntax for various dates, times, days of the week, etc.
You can also add multiple cron jobs – each one on a new line – to configure different schedules for different machines!
This works without any extra configuration for computers hooked up to your router by Ethernet. If you use Static DHCP to assign IPs by MAC addresses, you can even wake sleeping (but not powered off) computers that are connected wirelessly – just be sure to use the MAC address of the wireless card and not the Ethernet card. Also note that the WOL packets are sent from within the network, so even if you’re not configured for remote access, this will still work.