LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   LinuxQuestions.org Member Success Stories (http://www.linuxquestions.org/questions/linuxquestions-org-member-success-stories-23/)
-   -   How to start/ wake a PC over the internet (WOL) (http://www.linuxquestions.org/questions/linuxquestions-org-member-success-stories-23/how-to-start-wake-a-pc-over-the-internet-wol-832276/)

maodonovan 09-15-2010 05:04 AM

How to start/ wake a PC over the internet (WOL)
 
You learn about internet sites that allow you to use wake-on-lan (WOL) over the Internet and have a wake-on-lan (WOL) enabled PC. You now reckon you can wake your home PC from a remote internet location. From that location you can then use SSH, telnet, or tightvnc to access your PC subject, of course, to the limitations of internet speed. When you try this you will soon discover that it does not work.

Unfortunately WOL requires that at least part of a LAN must be awake. If you put your PC off it, to all intents and purposes, ceases to exist on the web. Under these circumstances the WOL-over-internet providers like www.depicus.com and www.wakeonlan.me will work for up to 30 minutes after you powered off. This is obviously not what you need.

However your ADSL router is part of your home LAN and it remains on all the time. So to use WOL over the internet you need to set things up so that your ADSL router can send a "magic packet" to the PC. This magic packet will then wake the PC. To do this the following must happen.

1) Your motherboard and the relevant network card needs to support WOL.

2) You must be able to "http" into your ADSL router from a remote location.

3) You must be able to tell the router where the PC and network card is i.e. what the IP and MAC addresses of the network card are.

4) Your router must be able to send a "magic packet" to that address.

In detail:

1) is a no-brainer. Either your PC does WOL or it doesn't. If it does use the BIOS setting to enable WOL. This usullay requires you pressing some key (usually DEL) before the computer boots.

2) The usual way of changing router settings is via your browser. For example, my Linksys WAG2000 requires that I go to http://192.168.1.1 and enter the username and password written on the underside of the router. However this address only works if the PC is linked directly to that router.

To be able to link to the router remotely (i.e. form elsewhere on the internet) you need to subscribe to a service like "DynDNS.com" or "no-ip.com". These two services are free and provide you with a domain name that you can use to http into your router from anywhere. After obtaining your address make the appropriate changes on your router and reboot it.

There are two changes that need to be made.

1) The router must be told that you are using a DNS system like DynDNS. On the Linksys this is under Setup - DDNS.
2) The router must be enabled for remote adminstration. On the Linksys this is under Administration - Management - Remote Gateway Access. All you have to do is enable the facility and record the port number.

Once you have saved the settings and rebooted your router you can access it via secure http. In my instance is go to

https://maodonovXXX.ath.cx:8080

NOTE there is a "s" in the address above.

Remember to change your router password to something different from the default. If I did not do that you could now http into my router and change my settings.

3) To access the WOL network card from the router you have to be able to identify it by IP and Hardware address (MAC). On a linus (Debian) system you would (as superuser) run ifconfig. My system says for network card eth0:

eth0
Link encap:Ethernet HWaddr 00:21:85:61:da:9e
inet addr:192.168.1.4 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::221:85ff:fe61:da9e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11415 errors:0 dropped:0 overruns:0 frame:0
TX packets:9971 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9922062 (9.4 MiB) TX bytes:1663804 (1.5 MiB)
Interrupt:250 Base address:0x4000



On Windows run ipconfig.

Note your inet addr (the IP), Bcast (Broadcast), HWadd (i.e. the MAC) and Mask.

If you are using a dynamic addressing system (DHCP) the IP address will change regularly and you will not know what IP address to enter. So use a static address for the hardware card. On linux (Debian) systems you will do this by editing /etc/network/interfaces. On Windows you will presumably be able to change the settings by right clicking on the network card.

If you do not know what setting to use try those published after running ifconfig (*nix) or ipconfig (Windows). Remember to restart your network (Debian uses "/etc/init.d/networking restart")


4) Theoretically you could now http into your router from the internet and issue a wake-on-lan command to the IP and MAC address you just set. However chances are that your router has not provided any WOL facility. This is certainly the case for Cisco and Netgear. Fortunately the OpenSource community has provided the required software for many routers, This software is model specific so do not use software for another brand or model router.

Relevant sources are:
Netgear http://dgteam.ilbello.com/
Linksys http://sourceforge.net/projects/openwag200/
Other routers http://google.com



The process of installing the software is one of downloading a zipped/ compressed file, uncompressing it and then updating the "firmware" on the router. Your router will have a update facility. Although flashing your router is simple read the instructions (and warnings) provided. Although the upgrade preserves settings it does make sense to back them up to your hard drive first.


Once flashed and rebooted you can http into the router. You will now have a new menu item under which various new services are listed. On OpenWAG (used for the LinkSys WAG200) it is - "MySetup".

Negotiate your way to the WOL facility. On OPenWAG it is under:

MySetup - other - Wake on LAN Interface.

Here you enter the MAC address (from ifconfig/ipconfig) and the IP address. This is the IP address of your LAN and not the IP provided by no-ip or DynDNS. In my case it is 192.168.1.4.

Press "save" and a magic packet is sent to the PC powering it on.

Geremia 09-25-2012 11:53 AM

Web Server Wake-up script
 
If you use dd-wrt on your router, this is a very good script for waking a web-server on the LAN: Web Server Wake-up.


All times are GMT -5. The time now is 03:27 PM.