How To Wake up Windows Machine via WOL from Synology NAS (or any Linux Server)

28

Here on NOW, We’ve covered many tools around WOL, Wake On Lan. WOL, allowing you remotely to Power On a local network computer. If this is something you are interested, we have a full tutorial showing you how to set up WOL on Windows on your local network. While the ability to remotely turn on and off the machine is cool, it’s important to note that this only works in a local network area.

To overcome the local network issue, it’s probably a good idea to have a server always on and accessible from the outside world. I happen to have a Synology NAS server which could be an ideal machine to serve as a proxy from your home network to the outside world. If you have a Synology running DSM (Disk Station Manager) you can follow the steps below to trigger WOL to any local network devices that support it. The setup doesn’t require additional source nor installs packages.

[Update June 7th, 2016]: If you have DSM 6.0 or later, please follow the below steps to enable remote WOL/send a magic packet to your local network machines.

[Update July 5th, 2019]: Added a missing Ethernet port eth0 to the synoet call example.

How To Enable Synology DSM 6.0+ to send WOL/Magic Packet

Ever since Synology released DSM 6.0, even in 6.0 beta, the previous method for sending WOL packets no longer works. They have removed ether-wake command (see sample error below), but fortunately, there are still ways to send WOL or magic packet to wake up local network machines.

Current status: 1 (Interrupted)
 Standard output/error:
 /tmp/esynoscheduler.script.28484: line 1: ether-wake: command not found
 /tmp/esynoscheduler.script.28484: line 2: etherwake: command not found

First, go to Control Panel > Task Scheduler > Edit or Create a new task, but make sure the user is root.

2016-06-07_1248

Under the Task Settings tab, in User-defined script, instead of having previous ether-wake command replace them with

synonet –wake [your mac address here] eth0;
2016-06-07_1248_001

Once that’s done, you can go back to the Task Schedule page view previous results, Action > View Result

2016-06-07_1312

Here you should get a Normal status result back and if configured correctly your local machine would wake up by now!

2016-06-07_1312_001

Configure Synology DSM Control Panel

Log in to your Synology via Public IP with IP forwarding or via Synology’s QuickConnect handle. Launch Control Panel > Advanced Mode

Synology Control Panel

Go to “Task Scheduler.”

Synology Task Runner

Let’s create a “User-defined script.”

Synology Task Runner User

Select the user who will have the rights to execute some command line utilities. Under the Run command section, enter the following command with your MAC address of the target device that you wish to WOL.

Synology Task WOL
ether-wake -i eth0 00:01:02:03:04:05

Make sure you update the MAC address. If your Synology has more than one Ethernet port, make sure eth0 has a connection to the local network.

Synology Task WOL Run

When finished configuring the task, by default it will be a scheduled recurring running task. You probably don’t want to wake up a computer always at a given moment of the day. You can go to the schedule tab and update this to “Run the following date” and “Do not repeat”.

Synology Task Runner

Once you have configured that, you can always run this particular task on demand. Now you have a ready-to-go server that can wake up a home network machine remotely. If you have a Windows Server that’s always on, check out this utility to remotely trigger WOL magic packet.

Other Linux Server

It’s worth noting that the above command ether-wake should also work from any Linux server if fired remotely via SSH or Telnet. Just need to make sure the command line utility is present. If you would like to learn more about what it does, here is the manual page of this tool.

SHARE

28 COMMENTS

  1. It is confusing: synonet –wake [your mac address here]; synonet –wake . . synonet – wake[ } eth0, synonet — wake eth0 [ ], it seems all over the place. I use aquila software to wake computers and that works. With the synolgy they don’t.

    • Yeah, I found it confusing as well.
      The single line he suggests for DSM6+ has a typo.

      What finally worked for me was just a single line, but it needs the eth0 on the end:

      synonet –wake YO:UR:MA:CA:DD eth0

      That finally gave me a “Normal (0)” result and woke my machine.

      • Updated the post, and added the missing `eth0` to the example call.
        Screenshot reflected the correct value but missed that in the actual example code block. Thanks for picking this up! Hopefully, it causes less confusing.

  2. “Now you have a ready-to-go server that can wake up a home network machine remotely.”
    How can I access the scheduler remotely? What app for my android device?

  3. Anyone know of a good way to diagnose why an ethernet adapter fails to wake a windows PC?

    I got this to work on one PC – but the other fails.

    I’ve double & triple checked the MAC address – and syntax – and enabled “this device can wake the pc” and “wake on pattern” and “wake on magic packet”.

    What else is there to check?

      • That was the first thing I looked for. I couldn’t find anything – though – it could be something to do with overclocking that PC. Or some setting related to that. Who knows.

        Frustrating when things don’t work and little access to why.

        • were you able to wake up other PC via another channel? Also, try to make sure you get the right MAC sometimes a PC comes with 2 NIC and you want to pick the right one.

  4. Hi there.

    I have a synology hooked up wth 802.3ad (LACP).
    Therefore eth0 is refered to as Bond 1.

    I tried several combinations of the synonet commando to wake up a PC, while sniffing traffic with Wireshark – no success.

    Do anyone have any experience with sending WoL packages using LACP? I have not been able to find any walkthrough yet..

LEAVE A REPLY

Please enter your comment!
Please enter your name here