TeamViewer WoL stopped working, any ideas?

FermitTheKrog

Distinguished
Aug 30, 2014
21
0
18,510
Hey guys,

I have set-up my desktop to be woken up on LAN via TeamViewer whilst I'm away from home and whilst it worked perfectly at first it doesn't work anymore, when I click Wake Up on TeamViewer nothing happens!

On the computer being woken up, TeamViewer is set to start with Windows, I have forwarded both ports 7 and 9 (although I hear you can use almost any port) and the IP its connecting to is static.

Like I said this worked at first, I set it up yesterday morning... It worked all through yesterday and it worked this morning, however when I tried to turn it on about an hour ago I sat here for ages with nothing happening!
I'm away from the desktop that needs to be turned on until Friday so if there is anything I can try doing remotely please let me know!
 
Solution
I have never used teamviewer for this purpose...I thought it was only a program you ran after the machine was fully functional.

From your description it sounds like the arp entry has timed out. This is why there is really no such thing as Wake on "WAN"

What is WoL is suppose to do is send a special packet to the broadcast mac address containing the mac of the machine to be woken. You will notice there is no mention of IP addresses because technically the IP is a higher level protocol run by the OS and the NIC only understands mac addresses.

What you are doing is sending a IP packet to the router that then gets port forwarded to the ip of the machine. What happens is it looks up the MAC address in the ARP table and send this...
I have never used teamviewer for this purpose...I thought it was only a program you ran after the machine was fully functional.

From your description it sounds like the arp entry has timed out. This is why there is really no such thing as Wake on "WAN"

What is WoL is suppose to do is send a special packet to the broadcast mac address containing the mac of the machine to be woken. You will notice there is no mention of IP addresses because technically the IP is a higher level protocol run by the OS and the NIC only understands mac addresses.

What you are doing is sending a IP packet to the router that then gets port forwarded to the ip of the machine. What happens is it looks up the MAC address in the ARP table and send this data to that mac. It just happens to work on many machines even though you are not suppose to send to the actual mac address.

The problem is after a period of time the ARP entry that maps the IP to the MAC is removed. When the packet comes in there is no mac to send it to so the router asks (ie ARP) who has ip xxx.xxx.xxx.xxx. Since the OS is not function it never answers and the packet is dropped.

There is not a solution on most routers for this problem. Some like asus have a special application you can log into remotely and have the router send the WoL packet.

Other than that you have to run a router that has the ability to set static arp entries and this mostly is only ones you have loaded third party firmware on. In that case you set a static arp to the broadcast mac on some unused IP. You then port forward to that unused ip.

 
Solution