How to perform "Wake-on-Lan" from TP-WR741N (or similar) to LAN

8

8

I have a perfectly running TP-WR741ND router with its native firmware (probably not so important, but here it is: 3.12.4 Build 100910 Rel.57694n).

The router is connected directly to LAN PCs (192.168.0.0/24 network). I can manage the router from my office (i.e. from the Internet). I want to be able to wake up my home PC from the office.

I'm able to send a WoL packet ("magic packet", UDP port 9) from my office's PC to my router. I can set my router to resend it to a LAN address (Forwarding > Virtual Servers) and on a running target PC I can see that the "magic packet" arrives to it (I've inspected network traffic to be sure). The problem is that I cannot provide a 192.168.0.255 address when forwarding. I get:

Error code: 26106 The IP address is not in the same subnet with LAN IP address.

Is it possible to make the router send normally the magic packet to the network broadcast address *.255 ? If yes, how it could be done?

ArtM

Posted 2012-02-07T11:05:01.220

Reputation: 457

Can't you use a static IP address for your target home pc to avoid this? – jdh – 2012-02-07T11:49:04.617

Does your router support proxy arp? – Paul – 2012-02-07T12:21:28.090

@jdh: using the static IP of my home PC (192.168.0.4) when setting up the forwarding rule doesn't help; I'm not completely sure if 192.168.0.255 is strictly necessary, but using my IP 192.168.0.4 it doesn't work; the packed is sent to my PC, as a mentioned I have checked this when the PC was running – ArtM – 2012-02-07T13:20:28.167

@Paul: The only setting related to ARP is Binding settings where I can bing a MAC address to an IP; (there is also a ARP List page, but it's only informational, read-only) – ArtM – 2012-02-07T13:22:34.387

Answers

8

A Wake on LAN packet is usually targetted at a specific MAC. The problem with doing this remotely is that you can't target a MAC address from a non-local network.

Normally, when a packet is destined for an IP address, the router on the same network as the device being targetted will say "Who has IP address x.x.x.x", and the device that owns the address replies "It is me, send it to mac address xx:xx:xx:xx:xx:xx". This is an arp request. Once answered, the router will forward the packet to the mac address.

The problem with forwarding a packet to a machine that is off is that it cannot respond to the arp address. However, if you use the ARP binding feature of the router, you can say IP address x.x.x.x is mac address xx:xx:xx:xx:xx:xx and so the router doesn't need to do an ARP request - it already knows the mac address for the IP address, it has it in its ARP binding table.

So you need to do three things:

  1. Issue the PC you want to WOL a static address (this is still best done by dhcp)
  2. Find out the mac address of the PC and set up an ARP Binding entry with the MAC and the static IP you selected
  3. Set up a port forwarding rule for udp/9 to the static IP address

So the WOL packet would be targetted at the public IP address of the router, and natted to the internal address. The router would then see it has a MAC address stored in its ARP binding table, and so forward the packet to the MAC address (even though the machine is off) without attempting an ARP request.

The WOL feature will see the packet arrive on its network card, with the correct MAC and turn on the PC.

Paul

Posted 2012-02-07T11:05:01.220

Reputation: 52 173

Thanks. I did a lot of thing and probably this ARB binding helped too (I'll try to find exactly when I'll have some available time, but now it works. – ArtM – 2012-02-08T13:10:38.790

0

Look at this: Port Forwarding Wake on LAN on the TP-Link TL-WR841ND

To test if you configured Wake On Lan correctly you can use http://wakeonlan.me site.

alv

Posted 2012-02-07T11:05:01.220

Reputation: 1

Thanks, but in the tutorial you pointed above I can see that no IP is provided in the IP Adress text input. I cannot do the same, an IP is mandatory and it should be only a non-broadcast IP. – ArtM – 2012-02-07T13:25:39.890