1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Wake on Lan through RV082 (broadcast address or arp entry)

Discussion in 'Cisco Small Business Routers and VPN Solutions' started by Nabu the Wise, Mar 24, 2007.

  1. Nabu the Wise

    Nabu the Wise LI Guru Member

    Hello everyone.

    I am now the proud owner of an RV082 (and the administrator of 2 :) ), thanks to several people here showing me the way.

    I've asked the official channels (aka, Linksys tech support) but I haven't had any success - so I thought I'd double check with everyone here.

    Ultimately, I'm trying to forward wake on lan packets to my internal network from the Internet (specifically this site http://www.depicus.com/wake-on-lan/woli.aspx , though DSLreports has one also). I can see the packet come into the network, but I can't send it where I would like. The problem is that the interface will not allow me to forward the packets to a broadcast address.

    I've got a couple possibilities but first I thought I'd check around and see if anyone has had success with any particular technique.

    It's possible that I'd have some luck using telnet. I've successfully telnetted into the router (using the instructions from this forum) but the command line didn't seem to be too straightforward, so I can't swear that could find the correct spot even if there is an easy way to make the change.

    It also looks like a simple approach might be to subnet my network. It looks like many home routers don't understand subnetting as well as they should.
    As a result, they tend to think that only 255 is a broadcast address. It looks like I could split the network in half, and the router might not realize that the new broadcast address is 127. However, this could potentially be fixed in the future (assuming I can get around things this way). Also, I'm actually using a few addresses in the 200 range (not that they can't be moved if it's the only option). Finally, I'm not even sure that this would work with this router - it does seem to be better quality than most, if not all, of the home stuff that was described in the posting I read.

    Finally, I might be able to simply edit the configuration file and upload it back - perhaps the limitation is built into the gui, but not the engine itself.

    I do have another possible plan of attack, but it seems like it might be more limited. If I can edit the arp table and make a static entry, I could accomplish the same thing.

    For instance, if I could edit the arp table and give address 254 the mac address of ff:ff:ff:ff:ff:ff I could forward the traffic to address 254 and it would still be the broadcast address and would still work for wake on lan. But, if there's a way to change this, I haven't found it yet.

    Has anyone found a solution, or have advice as to which approach I should take?

    Thanks!

    Nabu
     
  2. Nabu the Wise

    Nabu the Wise LI Guru Member

    Forwarding to a broadcast

    It looks like forwarding to a broadcast is out.

    I've been playing with telnet (using sysinfo123.htm?ConsoleSimulation=1 as the page in the browser) and I've managed to set my port forwarding to go to the broadcast address, but it doesn't work.

    Through quite a bit of forum digging and even more trial and error, I seem to have figured out the command prompt - at least for my purposes of this configuration change.

    at the command prompt, I used "rg_conf_print /" to dump the entire configuration. I had previously set my "wake on lan" service to forward to address 254 so it was easy to find in the configuration. From that point, I just tried to figure out the path to isolate the one variable I wanted to change. For instance "rg_conf_print fw" got me a little closer, and "rg_conf_print fw/rule" was closer still.

    Eventually "rg_conf_print fw/rule/loc_srv/0/rdir" returned "(rdir(192.168.200.254))" which is what I was looking for. Knowing this, the command to change this was "rg_conf_set fw/rule/loc_srv/0/rdir 192.168.200.255".

    Then a quick "flash_commit" and a "reboot" and it was good to go.

    Looking in the gui, the broadcast address is listed, but if you ever edit the rule, the gui will force you to change it back to address 1 - 254.

    Unfortunately, it didn't work. I can see the packet coming into the router through it's logs, but the pc never saw them (it wouldn't turn on, nor did the depicus WoL monitor ever see the packets). One interesting effect, I changed the broadcast to 255.255.255.255 just to see if it would have any affect. It didn't, but when I modified the service (to change what udp port I was using - just to see if it would make any difference - which it didn't) the RV082 rewrote the forwarding so it was back to the local broadcast only (192.168.200.255).

    It appears that the router is smart enough to not forward to a broadcast address, and it's not a matter of the gui simply not allowing you to configure it. The next step (to me anyway) seems to be trying to make a static arp entry. So far, I don't see anything in the config that looks like any sort of arp control - but, I wouldn't expect it to be part of the default config anyway - likely the commands only show if they're enabled (assuming they exist at all).

    On a side note, I tried the trick of checking all of the interesting html pages stored on the router - it doesn't look like theres any hidden webpage that will help with this.
     
  3. Nabu the Wise

    Nabu the Wise LI Guru Member

    Another update

    Adding an arp entry was actually easier than I thought.

    From within telnet, you simply start up the shell (through "shell" naturally enough). Then, you can simply use the arp command.

    In my case "arp -s 192.168.200.254 ff:ff:ff:ff:ff:ff" to set the address, and "arp -vn" to verify the changes.

    The nice thing is that it worked perfectly. I forwarded udp port 4 to address 254 and it became a local broadcast on my network and was able to wake the computer fine.

    The only negative so far, is that the static arp entry is only temporary - one reboot and the entry is cleared. While this is better than nothing, it would still be better to somehow get this as part of the config - or otherwise permanently written to the flash. Particularly since one goal would be to remotely restore everything from a power outage. If the outage is long enough for the ups to go down and take the RV082 with it, then we're out of luck restoring everything.
     
  4. Nabu the Wise

    Nabu the Wise LI Guru Member

    The arp change works, but I don't have too much hope of making it permanent. It looks like I could possibly add an /etc/ethers file, and this might automatically load mac addresses, but that's the only approach I've come across that looks promising. Aside from any undocumented commands, but being undocumented I haven't been able to track them down.

    My next thought is trying to make things a little easier to input the arp command, so I was thinking about sysinfo123.htm. Has anyone found any additional commands that work with sysinfo123.htm? (aside from ConsoleSimulation) It doesn't seem to accept shell commands or the CLI commands, so I assume we're only talking to the httpd service.
     
  5. trwd

    trwd Network Guru Member

    First, thank you very much for posting this thread about your solution to getting a WOL packet broadcast past the RV082. I have the identical requirement. I was able to follow your instructions and get to the point where arp -vn shows:

    192.168.1.254 ether FF:FF:FF:FF:FF:FF CM ixp0

    ...but the packet still isn't getting through. I'm using Depicus' WOL Monitor to tell me if the packet is reaching the subnet. I've set up forwarding of UDP port 9 to 192.168.1.254 (which I assume is now acting in place of the desired 192.168.1.255 that Depicus and others have written about). My router's address is 192.168.1.1. The subnet is 255.255.255.0.

    I'm using my dyndns.org address, which works fine with webguide, etc.

    Can you suggest what I must be missing?
     
  6. Nabu the Wise: Can you tell me the firmware version you have. I have firmware 1.3.2 and I can log into RV082 through telnet but there is no command called "arp". It says "Bad command". Please let me know if it has anything to do with the firmware version.
     

Share This Page