Enabling WOL for PVE Hosts
Enabling WOL function in Proxmox
Enable WOL in the bios, and turn off any deep power sleep modes that might be active. These can interfere with the WOL function. If in doubt, refer to the manufactures website or the almighty www.google.com
Boot up Proxmox, login as root, select the host on the left side list under database, and enter the shell from the top right corner.
# install ethtool
apt install ethtool -y
# List Network devices
ip addr
This will print out a whole lot of information. Usually number 1 will be the local loopback, this can be ignored, along with anything that has a VM in it. Those are the virtual interfaces that Proxmox installs for. You are looking for something that says link/ether. Copy down the 6 octets you see there, along with the device name for the interface, which is right after the number. You will need to add this information into the machine used to send the WOL "magic" packet.
Next we will check to see if the device supports WOL
# Replace XXXX with the device name to test
ethtool XXXX
The third line from the bottom should read "Supports Wake-on: pumbg
p = Wake on PHY activity
u = Wake on Unicast Messages
m = Wake on Multicast Messages
b = Wake on Broadcast Messages
g = Wake on MagicPacket Messages
To enable WOL on the device, remember to replace XXXX with the device name from the previous steps
# Enable WOL on the device
ethtool -s XXXX wol g
We now have to edit the network interface configuration. You will also have to replace the XXXX with your device name
# Edit the network interface configuration
echo "post-up /usr/sbin/ethtool -s XXXX wol g" | tee -a /etc/network/interfaces
This change should allow for your computer to automatically set the WOL on each boot. Now, shutdown the Proxmox machine, and go to the machine you are using to send the MagicPacket. There are many programs that will allow you to do this, but you will need the 6 octet number you noted down earlier to enter into it. Send the MagicPacket, make sure the machine wakes up. If it doesn't, you will probably have to read more into the the motherboard manufactures website to enable it. When ProxMox is fully booted back up, enter the console again.
# Replace XXXX with the device name to test
ethtool XXXX
The 2nd from last line should be "Wake-on: g". If this isn't true, you will have to edit the /etc/network/interfaces file again to ensure it is fine and you replaced XXXX with your correct device name.