Link to home
Start Free TrialLog in
Avatar of tigermatt
tigermattFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Computer Waking up on Ping

I often use Wake on LAN (WoL) to remotely switch on my home PC via one of my home servers.

However, I seem to have a problem in that while I wait for my PC to boot up, I'll start a continuous ping from the server to my PC using the -t switch, to determine when the PC is awake and ready to roll. Occasionally I'll forget to close this ping, which has the surprising effect when I shut down my PC of it instantly starting it back up again - just like I had sent a WoL packet.

1. Firstly, why does this occur? I thought WoL uses UDP packets and transmits based on MAC address; how can a ping - based upon IP address - work when the PC is off. Just as a note, the ping does reply with a Request Time Out message, so the ping isn't being returned, but something is picking it up and starting my PC up based upon it.

2. Secondly, is there a way to prevent this behaviour? Yes, I should just close the ping window, but suppose someone else decided to ping my computer or do a scan of the entire IP subnet, my PC would wake up.

I know it is the ping - if I pull the network cable, or indeed close the ping, the PC will stop starting up as a result.

Any ideas?
Avatar of Werrock
Werrock
Flag of Sweden image

Ping works using ICMP and use IP yes. But so does UDP and IP use ARPs to determine what IP belongs to which computer (MAC). Your ping call will first do an ARP to get that MAC of the other computer. Then it will start to transmit ICMP to it. But it will not use the ARP before every transmit, only when it stops to respond. A timeout is not a response so it will begin to send an ARP after that moment.

Maybe if you could get ping to always use an ARP before each ICMP request it could work. But I do not know how to do this. Hopefully someone else can solve that part.
Avatar of tigermatt

ASKER


Thanks for that Werrock. Could you just explain in a little more detail how:

1. this would cause my PC to wake up when I am pinging it?
2. What protocol does WoL use. UDP / ICMP? I have no idea when it comes to WoL except on the basis of using it...
ASKER CERTIFIED SOLUTION
Avatar of Werrock
Werrock
Flag of Sweden image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of DAn
DAn

If its a linux server you will need to set the NIC to wake on only magic packets.

ethtool eth0

this will give some output

to set to magic packet only enter:

ethtool -s eth0 wol g

http://linuxcommand.org/man_pages/ethtool8.html

Thanks for that, Windows XP sadly :-)