PDA

View Full Version : [announce] Wake on LAN


mno@8
2010-08-09, 10:34
I made my first application for the N900. It will send magic packet to a target system to start it via the LAN.

I developed it because: it currently does not exist for the N900 but, mainly, because I need it.

I made it available as I take profit so many times from open source software that I would like to give my own contribution. It is also a simple application that allows me to understand the full process to develop and release a QT/C++ application.

Hope you will find it useful.

I am still waiting the authorization to upload it on the extra-devel repository but you can already find it at https://garage.maemo.org/frs/?group_id=1800&release_id=3967.

wolan is available in the extra-devel.

Bugs report are more than welcome.

mno@8
2010-08-20, 13:32
WoLAN is now in extra-testing.

It supports multiple targets and is able to test if the host is up and running after a wake on -lan.

There is today only one bug found:
At the startup WoLAN displays an empty target instead of no target at all. Either click "edit" and put your own target or click delete than add.


There is no input validation:
IP or hostname is a free text (and will stay like this)
Mac address must be in the form of XX-XX-XX-XX-XX-XX (however you can put whatever character between the hex values).
Port, tcp port and timeout must be numeric. If you enter something else it will be reset to 0 without an error message.

siafu
2010-11-17, 11:42
Hello,

Thanks for this app.

I haven't figured it out yet.

Under port I put 9, I opened it in the router

What do I enter under TCP Port?

I get this error every time.

Host is not Running.

Please let me know what I'm doing wrong.

I'm trying to wake up the computer via the internet. I can wake it up with other mens, just not via this app.

Larswad
2010-11-17, 13:57
@siafu: This is a little trickier than what you first may think. You don't have to forward any TCP traffic, WOL goes only over UDP (if you can leave it blank, do so). You will also not be able to do any forwarding of traffic to a local computer in the normal manor, it's because the sleeping machine doesn't have an IP (yet). Only mac address'es are typically used for WOL magic packet. What you should do is to forward the packet to your subnet's broadcast address (whatever that is, depends on you subnet's class). For a class C network for instance, the broadcast address is 192.168.1.255. Now, what you should do is:
1. Set up this application to direct the magic packet to your WAN IP, fill in the mac address of your local machine to wake up (that MAC will be the payload of the magic packet, repeated 16 times).
2. Set up your router to forward UDP traffic on port 9 to the broadcast address in your network (which you will have to find out what it is for you subnet).

It does work, if you do it right, but remember you can only wake up one specific machine in your subnet this way, that's it.

I am also working on an WOL application for the N900 (in Qt) since some time ago, but it has then grown into something more than that. It is already functional like this app here, but it is also supposed to be able to set machines in suspend state, hibernate state, reboot them, shut them down and log out the user. This of course requires a daemon/service on the Linux/Windows side, but that's no problem and it already works. I just have a little more work on the PC side with a gui to the daemon/service and also a some security issues, since that becomes important as well.
Here's a screenshot for you I had lying around, in Swedish sorry to say:
15656

mno@8
2010-11-22, 10:00
@siafu: as said, the magic packet are always sent in UDP. The port "9" is only important if you have to open the port on a firewall.
The tCP port is used to test if the target system woke up. So you need to target a service on that system: ssh, http...
The most frequent issue when sending the magic packet in another subnet is the arp request. Your last router will try to send the magic packet in the target subnet but will first make an arp request. This one will not get any answer as the system is power off. To avoid this you must put a static arp in your last router.
@Larswad: You can wake up as many machine you want in the same subnet as the magic packet contains the MAC address of the target machine. I do this everyday...;-)

mno@8
2010-11-30, 15:25
I just test WoLAN on ipv6 network. It works pretty well.

I had however to configure my switch accordingly. Strictly speaking inmy case, it is a SSG 5 from Juniper not a true switch. I had to use the command "set ndp ipv6_address Mac_address interface" .

stustustu
2010-12-19, 12:11
Wow, just got this working - what a neat little application!

Took me a while to figure out that I needed to enter my networks broadcast address, not the IP of the machine I wanted to start up.

Haven't managed to get the TCP port setting to work though so I can detect successful startup. If I set this to 80 it doesn't recognise I have apache running. Doesn't matter too much though!

mno@8
2010-12-20, 11:02
Wow, just got this working - what a neat little application!

Took me a while to figure out that I needed to enter my networks broadcast address, not the IP of the machine I wanted to start up.

Haven't managed to get the TCP port setting to work though so I can detect successful startup. If I set this to 80 it doesn't recognise I have apache running. Doesn't matter too much though!

Thanks for the enthusiasm. Regarding the TCP port, two things could happend:
1) a firewall is blocking the traffic
2) the timeout value is too short

kattle87
2011-09-29, 08:48
1. Set up this application to direct the magic packet to your WAN IP, fill in the mac address of your local machine to wake up (that MAC will be the payload of the magic packet, repeated 16 times).
2. Set up your router to forward UDP traffic on port 9 to the broadcast address in your network (which you will have to find out what it is for you subnet).


I did this and it worked, but I have to fill in the IP address, if I write the dyndns name of my router (blablabla.dyndns.org) this does not work... and I'm just wondering why.
(sorry for digging such an old thread, but I loved this app since I started using it a few weeks ago)

mno@8
2011-09-29, 14:48
Kattle87,
The advantage of using this thread is that I received an alert for your comment ;-)

This is a bug I already discovered and I correct it. You should be able to get the latest version in extra-devel. You can safely install it from there as this is the only change. The version is 0.2-1.

It is great to learn you love this app ;-)

nicholes
2011-09-29, 15:45
WOL does not wake up my pc saying "host is not running"
plz note:-
my pc does not wake up by pressing any keyboard key or by moving mouse

i have to press power button from cpu(by which we start pc) to wake him up

dantonic
2011-12-22, 01:55
WOL does not wake up my pc saying "host is not running"
plz note:-
my pc does not wake up by pressing any keyboard key or by moving mouse

i have to press power button from cpu(by which we start pc) to wake him up


If you haven't done so already you have to enable the wake on lan option on your motherboard.
I don't think your mouse and keyboard have anything to do with it

Xagoln
2011-12-22, 08:51
I think you can only Wake On Lan a computer that is in 'sleep' mode. I.e., not when it is completely powered down.

don_falcone
2011-12-22, 08:59
Huh? WOL is supposed to work up on maigc packet if your mainboard and NIC still receive current, which should be the case with ATX power supplies in "off" state. All current is switched off only when there's a physical off-switch in the power supply, or the lead is unplugged.

Cue
2011-12-22, 09:30
What I do to troubleshoot wake on lan:

First try to wake the machine from an S3 state.
S3 is when the machine is in sleep or standby
for machine states look here

http://software.intel.com/en-us/blogs/2007/01/10/all-about-system-power-states-s0-s5/

If this works then it means the N900 is sending the magic packet and the network is setup properly. Then turn the machine off. Try to get it to work from S5. If you see it doesn't work check to see if the RJ45 jack on your PC has an LED it should remain on when the PC is in S5. If it isn't check your bios settings to enable wake on lan from S5. Any further steps depend on your OS. If you multiboot your PC then you also need to make sure both have wake from S5 enabled otherwise booting the OS which has it disabled then shutting down would mean it is disabled again until you boot the other OS.

If you suspect it's the app (which i doubt) then try this python script
http://talk.maemo.org/showthread.php?t=38785

Estel
2011-12-23, 03:05
Also keep in mind, that some machines (most of the times notebooks - Dell ones, for example), have irritating behavior of shutting power from LAN interface, even if AC power is present, and WOL enabled in BIOS. It is the case in my (otherwise, totally awesome machine) XPS M1530, so i can wake it only from Standby/Hibernation state.

Trivia: The funniest thing, is that - at least in case of Dell machines - shutting down LAN interface when WOL is enabled occur 3-5 seconds *after* notebook is shut down completely - you can watch it by LAN socket LED status, or by re-enabling it - via WOL - from shutdown fast enough (in said 5 seconds interval, after shutting it down) - so, probably, little modification of LAN module (providing external power source) would fix that issue, as interface communication seems to be working fine until motherboard pull power off, without saying 'goodnight'.

rege
2011-12-23, 06:25
on dell machines, you need to turn off Low power mode in bios, or similar settings under power managment settings

Estel
2011-12-23, 07:33
No such option in many versions of Dell'ish (version of) Phoenix BIOS, but thanks, anyway.

anthonie
2012-11-17, 17:02
For those who still may have interest in this little program, I downloaded it this morning because I could not get etherwake to work. For some reason I get an error "Host not found" every time I wake up my desktop computer from the phone. Despite the error message it works fine.

Has anyone succeeded using the command line?

mno@8
2012-11-22, 14:46
Anthonie,

Please use the version 0.2-1. The "host not found message" is corrected in this verion. It could be in extra devel but it is fully stable: I use it almost every day.