HOWTO: Set your system up for Wake On LAN (WOL)
This is really common, but I haven't seen a ubuntu howto for it, people more or less peice it together from posts and blog entries and the like.
So, here it goes. First off, make sure your system supports WakeOnLAN (WOL), if you know your system well, you already know if it does or doesn't.
--
Automatic way:
This script does everything described in the Manual way, for you, except step 1 and step 4.
------------------------
The automatic method is super dialup friendly! thanks to gzip compression the filesize is a mere 1.5kb! almost half the extracted size of 3.4kb! :wink:
1. If you havent already, go to your BIOS, and turn on WakeOnLAN (it varies, look for it.) If your network card is onboard, your set for step 2, otherwise there is probably a cable that should go from your network card to your motherboard, though this is not always the case.
Before continuing, note the interface you want to do this to. Most people know how to do this, if you do not, look at step 2a of the manual method.
2. Download and extract this: You can do it with the GUI and run the extracted program in a terminal by double clicking it, or open a terminal and do the following:
**** Removed dead link ****
3. As the exit of the program notes, now you just need to get/use a wake on lan sending program, like wakeonlan.
4. Sit on your lazy *** and have fun :)
--
Manual way:
------------------------
1. If you havent already, go to your BIOS, and turn on WakeOnLAN (it varies, look for it.) If your network card is onboard, your set for step 2, otherwise there is probably a cable that should go from your network card to your motherboard, though this is not always the case.
2. Back in ubuntu, kubuntu, xubuntu, w/e, we now need to make a script that will run every time the computer is started, because this command only lasts until the computer is turned on again once.
2a. Find out what network device you want to have the computer wake-able from, usually all, which is just one. If you have more network devices in your system, 9 chances out of 10, you already know what they are called.
You can NOT wake up a laptop or computer that is only connected via wireless with wake-on-lan, unless the bios has a method for this, this is very rare, and I do not garuntee this howto will work in such cases.
In your terminal, type:
You'll get something like: (I have removed my mac address for security)
Code:
eth0 Link encap:Ethernet HWaddr 01:23:45:67:89:ab
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:f2ff:fe6f:3487/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:71495 errors:0 dropped:0 overruns:0 frame:0
TX packets:76190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:23164212 (22.0 MiB) TX bytes:7625016 (7.2 MiB)
Interrupt:217 Base address:0xd400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1290 errors:0 dropped:0 overruns:0 frame:0
TX packets:1290 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:161182 (157.4 KiB) TX bytes:161182 (157.4 KiB)
So, I want this system to be wake-able from eth0.
2b. Now we create the script.
Note: you must be an administrator on the system you are doing this to.
Enter your password at the prompt.
Change to the startup script directory and start editing a new file:
Code:
cd /etc/init.d/
pico wakeonlanconfig
Paste, or type this into the file, replacing eth0 with your network device, repeat the ethtool line as many times for your devices before the exit line:
Code:
#!/bin/bash
ethtool -s eth0 wol g
exit
Set the permissions of the file:
Code:
chmod a+x wakeonlanconfig
Make the script run on startup:
Code:
update-rc.d -f wakeonlanconfig defaults
You should see something like:
Code:
Adding system startup for /etc/init.d/wakeonlanconfig ...
/etc/rc0.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc1.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc6.d/K20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc2.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc3.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc4.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
/etc/rc5.d/S20wakeonlanconfig -> ../init.d/wakeonlanconfig
Now we finish by running it, and making sure there are no errors.
Code:
/etc/init.d/wakeonlanconfig
This should produce no output and put you right back at the prompt you started at.
3. Use it. you'll need something to send wake-on-lan packets with, "wakeonlan" is in the repos. And you'll need the mac address of the system.
To get your MAC address, on the same system you just enabled WOL on, type:
its the thing that looks like 01:23:45:67:89:ab , write it down.
turn off that system:
if your using wakeonlan from the repos, and you are on the same network as the computer your tying to wake up, replace 01:23:45:67:89:ab with your mac address and do, from another computer:
Code:
wakeonlan 01:23:45:67:89:ab
In MOST cases, you CAN SEND wake on lan packets from a wireless connected computer.
If that doesnt work, its likely the port on the system your trying to wake up isnt the default (9), try 7, or if your BIOS settings or book told you one, use that one.
Code:
wakeonlan -p 7 01:23:45:67:89:ab
If that STILL doesnt work, make sure wakeonlan is enabled in your bios and your hardware supports it.
*Note: It has been said that you need to disable -i from halt, however I have never had to do this, nor do I know how.
4. Sit on your lazy *** and have fun :)
Feel free to post any questions, suggestions, problems and I will tend to them ASAP.
Added notes:
* For this to work, most systems must be shut down properly, ie: with the power button or halt, or any of the ways to shut down. Unclean power-offs (like a power outage or holding the power button for 5s) seem to stop WOL from working untill the system is powered on and shut down properly. Though, there my be a few exceptions. This is a hardware issue with the BIOS. In my opinion, WOL should work regardless of how the system is powered off, but thats not the case. I suggest, if you have frequent power outages, that you have your BIOS set to Power ON after a power failure, most new systems allow this.
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Many Thanks Chris, for this clear explanation. It saved me a lot of time.. I am very new to Linux, and already found how that the ethtool wol settings aren't persisted, but I didn't figure out yet how to make my system remember them.
The only problem I now have is: my computer wakes up within a minute after shutting down. Something wakes it up (which gives me hope that WOL *is* actually working on my system) but I want it to start up only if *I* send a magic package of course! I did set the wol setting to: g.
Do you have any idea what could be causing this? In the mean time, I am going to check my bios settings..
Cheers
Hans
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Yep! It works! The problem was in the BIOS settings. I set the Wake on PCI Card setting to Yes, and disabled the Wake on PCI Master (which was probably causing the computer to start up too soon)
BTW I start my Ubuntu box from a Windows XP system using the Magic Packet Sender utility (http://magicpacket.free.fr/) that's connected via a wireless network. It works like a charm.
Thanks again,
Hans
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Hm, the wake on pci thing could be what puzzled me about some systems i came across before.... i thought there was a wakeonlan thing going on, because within 1 hour, about 3 computers in a lab where i worked would randomly turn on if you turned them off... puzzled the hell out of me.
thanks, and have fun being lazy ;P
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Automated script now available. Currently only supports 1 interface, more means manual. Version 1.0 of the script should be up within 48 hours that supports multiple interfaces.
enjoy :D
Re: HOWTO: Set your system up for Wake On LAN (WOL)
How do I wake on WAN my pc? I've tried wakeonlan within my network, but I can't access it outside my network.
Re: HOWTO: Set your system up for Wake On LAN (WOL)
if you use the command "wakeonlan" without the -p option, then use your router to forward port 9 UDP to the computer on the internal network... not sure how well this works with a router, as when a computer is off, it doesnt have an IP to forward to! after that, you'll need a utility that sends the packets over the internet to an ip.
I havent done any research into this precise aspect of wake on lan, At least one of my systems is on at any given time, and they all have custom SSH ports forwarded. All I have to do when waking from the internet, is find a system thats on, ssh in, and send my packets through that....
if you get it working from the WAN, post what you had to do, so that I can add it to the guide!
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Just a quick question as I am not familiar with the uses of WoL.
What it useful for?
Security?
Convenience?
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Its not really useful for security, more convienience.
for instance if you have a computer say, in your basement, that you dont always use, and you turn it off. Before you go there you want it to be on and ready, and your near a computer on the 2nd above ground floor. You can wake it up before you head there.
etc, its more or less useless elsewise, because of bios-specific limitations (such as if the power goes out, most systems wont wake up untill powered on and properly shut down)
But, if you can imagine a need to turn on a computer without touching it, WOL is the solution to that need.
My personal main and only use is remote administration while still living at my parents (this need will be gone in 3 days, as i am moving, so i no longer have a use for WOL) Their PC is in the living room, and i usually do most maintance tasks (updates/installs) from my terminal in my room via VNC and ssh. rather than going to turn on the system and come back, i simply use WOL.
Re: HOWTO: Set your system up for Wake On LAN (WOL)
Quote:
Originally Posted by
sonny
How do I wake on WAN my pc? I've tried wakeonlan within my network, but I can't access it outside my network.
This wiki may help http://www.dd-wrt.com/wiki/index.php/WOL