Odd WOL issue with WRT54G

Discussion in 'Cisco/Linksys Wireless Routers' started by goodmami, Jun 13, 2012.

  1. goodmami

    goodmami Serious Server Member

    Hi all, after much googling and trial-and-error, I give up trying to figure it out on my own. Perhaps you can help. My router is a WRT54G v1.1.

    The short version: wake-on-lan works when sent from a computer on the LAN, but not from outside the network, nor from the router.

    The long version:
    First off, these are my desktop WOL settings from a fresh boot:

    $ sudo ethtool eth0 | grep Wake-on
        Supports Wake-on: pumbg
        Wake-on: g
    I got the MAC address and I was able to wake the computer from my laptop (on the same network) with:

    $ wakeonlan -i $mymacaddr
    I don't know if it's relevant, but I can wake from suspend, but not from full shutdown.

    While I still had the stock 4.20.7 firmware, I followed these instructions to change the broadcast address to something that could be forwarded (by making the subnet mask then forwarded UDP Port 9 to I tried wakeonlan using my routers WAN IP, and using a free web-based WOL packet-sender service, neither of which worked.

    I then installed Tomato firmware v1.28 and, since my desktop uses a static local IP, I set up it's MAC and IP in the static DCHP table (so it would appear in the WOL tool of Tomato). Using the WOL tool I could not wake my machine (but my laptop still could from the local network). The port-forwarding method above from the stock firmware did not work with Tomato, either.

    I then tried some other things, such as modifying the init script, with no luck.

    I even tried SSHing to the router to send the WOL packet, but that didn't work:

    $ ssh root@
    # ether-wake MY:MA:CA:DD:RE:SS
    Why is it that nothing from the router (forwarded or initiated directly) works, but I am able to send a broadcast signal from my laptop to wake my desktop?

    Thank you for any help
  2. goodmami

    goodmami Serious Server Member


    I found that the ether-wake command does not send to the broadcast IP by default. By using the -b flag, it sends to the broadcast IP, and it worked! So I can now wake my computer over the internet by issuing an SSH command:

    ssh root@"${routerIP}" "ether-wake -b ${MACaddr}"
    I still don't know why the WOL tool of Tomato doesn't work, and neither do my port forwarding rules, but at least I have a solution now.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice