WOL
Wake On LAN (WOL) does not work
This is a collection what to check if you cannot WOL your rrClients.
Split the problem!
Wake On LAN has 3 parts that can be the cause.
If you try to fix all at the same time, then you end frustrated.
- The receiving computer does process WOL
- The WOL command is not transmitted to the machine
- WOL settings are wrong
1. Receiving machine does not process WOL
- LED test
Shutdown the machine and take a look if the network card LED is still lit up and at best blinking.
This means the network card is still running and can receive WOL packets.
Of course if the NIC is able to receive network packets, then this does not automatically mean that the mainboard check for WOL packets.
But a working LED is still the most important check. - Optional: Network card driver - update
Install latest drivers for network card (do not use the Windows check, manually search and install from manufacturers driver download page) - BIOS
Note: Depending on your BIOS, you might have one or multiple of these settings - Power Management section: disable Deep Sleep.
- Power Tab, APM configuration screen, Power On By PCIE Devices needs to be enabled.
- Advanced tab, Chipset screen, South Bridge screen, enable "Wake on LAN from S5" (AMI/ American Megatrends BIOS)
- Power Management Screen, Enable WOL from Soft Off (Biostar BIOS)
- Power screen, Hardware Power Management screen, enable "S5 Wake on LAN" (HP Bios)
- ASUS Bios, [Tech Specs] page, Manageability, enable "WOL by PME"
- Advanced, APM Configuration, enable "Power on by PCI-E"
- Note: Some 10GB network card do NOT support WOL.
Windows only
- Network card driver - settings
Check if WOL is enabled in the hardware device manager of the client.
Open the Device Manager, choose the right network card, tab "Advanced".
Search for WOL, Wake Up and/or PME.
It has to be set to "Magic packet" or "Both".
If there is a setting "Wake from Shutdown", enable that setting as well.
You might want to enable other WOL settings as well as they are sometimes connected, e.g. "WOL shutdown".
Then open tab "Energy options" and disable "Computer can shut down device to save power" - Power options (Note that this is not available on all machines)
Open the Windows Power Options.
Click on Advanced Power settings on the right.
Choose Define Power Buttons and turn on Password protection
Disable "fast startup" (You might click on the button/link above to unlock these settings if they are greyed out)
macOS only
- Use Sleep, not Shutdown
MACs are not able to wake if you shut them down.
You have to put them into Sleep instead.
(Note: The rrClient uses Sleep instead of a shutdown automatically if you have enabled "WOL is supported by this client".) - Energy settings
Open your OSX System Preferences.
Select Energy Saver.
Enable "Wake for network access". - Disable "Dark Wake".
"Dark Wake" wake the the machine if you send a WOL command, but with a disabled screen.
And it puts it into sleep after 30 seconds again.
To disable Dark Wake, you have to edit system files.
(a different solution is to use the tool TinkerTool System to change these settings with checkboxes and without using a any editor yourself)
Execute this command in a terminal to edit the settings file:
sudo nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Add the setting in bold:
|
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Kernel Flags</key> <string>darkwake=0</string> </dict> </plist> |
Press <CTRL> - <X>, then <Y>, then <Return> to save the file.
At last, reboot the system.
- Disable DisableSleepProxyClient
If it is not disabled, then the Mac might wake up every few hours.
To edit this system file, you have to temporaly disable "System Integrity Protection".
If you do not disable System Integrity Protection, the file is write protected.
Please search for a description how to disable it in the Internet.
There are a lot of good descriptions.
You may enable the "System Integrity Protection" again after you change the file.
Execute this command in a terminal to edit the settings file:
sudo nano /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
Add the line in bold:
|
... <array> <string>/usr/sbin/mDNSResponder</string> <string>-launchd</string> (do not add this line, it might exists or not depending on your macOS version) <string>-DisableSleepProxyClient</string> </array> .... |
Press <CTRL> - <X>, then <Y>, then <Return> to save the file.
At last, reboot the system.
- Disable "Wake on Bluetooth“
This is not required, but recommended. It might wake your Mac.
Open your OSX System Preferences.
Select Bluetooth.
Press the Button "Advanced"
Disable "Allow Bluetooth devices to wake...".
2. WOL command transmission
Before you try to change all of your switch settings, you should verify if the WOL command can already be transmitted.
For this test the target machine should be running.
Then you start a test application that shows you if the WOL command was received by the network card.
At first, you need to monitor the UPD packets that are received by your network card on the target machine.
Windows:
Download and run this application http://www.depicus.com/wake-on-lan/wake-on-lan-monitor.aspx.
Set the WOL port as set in rrConfig, menu Clients, tab global (Default: 7).
Linux/MAC:
Open a terminal and execute this command.
Set the WOL port as set in rrConfig, menu Clients, tab global (Default: 7).
sudo tcpdump -i any -v udp port 9
Sender machine:
Of course you can directly try to send WOL commands from the rrServer
(by using any rrControl to send the server the command to transmit a WOL packet)
If you have a larger network with multiple switches or even multiple TCP/IP subnets,
you should start to send the WOL command from a machine as close as possible to the target machine.
Same subnet, same switch.
- On the sender machine, start rrConfig, menu Client, tab Global.
- Use the Test button to send a WOL command.
- Take a look at the target machine if WOL was received.
- If it works, shutdown the target machine and try a real WOL.
If it does not wake up, then go back to "1. Receiving machine does not process WOL"
Switches
Some switches either block the transfer or do not communicate any more if the network card switches to a slower speed.
(most network cards have a setting to reduce the speed to 10MBit if machines is turned off, can be disabled in driver)
- Disable any igmp snooping settings in your switch
- Very Rare Exception: We had one case in which an older 10GB switch has transmitted WOL commands while the machine was running, but not any more when the machine was off. Therefore:
- Try to replace the switch with a simple one for a test.
3. WOL sender/receiver settings
- Global settings
Open rrConfig, menu Clients, tab Global. - Verify that the Subnet Mask matches the subnet mask of your network card settings at your rrServers machine
- The WOL port can be any port, but it is common to use port 7 or 9.
Some networks are setup to block all ports, but still allow to use your internet browser,
In this case you can try port 80. - WOL modes: You may choose to disable a way to send WOL packets, but there is no advantage in disabling a WOL mode.
- Per rrClient settings
Open rrConfig, menu Clients, per Client config.
Select one rrClient.
On the right, expand the group "Hardware - Wake On Lan". - WOL is supported by this machine
Enable this setting - MAC address
Verify that the MAC address is the same as the network card that is connected to the network you use for RR.
A common issue that you have multiple network card in your machine and someone switched the cable to the other card.
Therefore we recommend to use blind plugs or some tape to prevent using other network cards.
If you use the Clear button (can be used on multiple selected machines), save rrConfig and restart the rrClients, then the rrClients re-reads the MAC address of the active network card. - IP range
This setting is required if you have multiple TCP/IP subnets.
The IP range are the first 3 numbers of the machines IP address