2

I have Windows 7 64-bit and have done all the steps necessary to set up Wake-on-LAN. I then shut the computer down and tried to wake it. Nothing happened.

If I manually turn on the computer, it displays:

Magic packet received successfully

It seems that the computer receives the magic packet, but isn't woken up by it. I have changed all of my settings to allow Wake-on-LAN. Everything seems to be configured correctly, but the actual waking does not work.

How can I get this working?

1
  • 1
    Do your motherboard and NIC support wake on lan?
    – soandos
    Dec 11, 2011 at 10:09

5 Answers 5

6

Here's a list of things I've found that foul up WoL:

  1. Obviously it doesn't work over wifi.

  2. In your BIOS you need to allow PCI (and PCIe) devices to wake the computer.

  3. Very few routers will route broadcast packets by default, especially packets that originate from the internet. You can either spend ages googling and eventually find the crazily complicated router config file setting (no way will it be in the web interface, and your router may not even allow it), or, simpler option: use something like Tomato or DD-WRT which will have a WoL tool built into the web interface.

  4. Make sure the LED on your network card is still flashing when your computer is "off".

  5. I don't know how to do this on Windows, but on Linux you have to use ethtool to enable the card to wake up - and set it to wake up on broadcast and magicpackets. Not just magicpackets.

It's not an easy thing to debug, and the whole WoL system is stupidly fragile.

3
  • 1
    I'm currently using WoL over WiFi with a very simple OpenWRT AP with no special setting, so your first statement is not true at all. I've been doing it for like a decade or so. About 5: It is done through the network card advanced properties window, inside the Energy Management tab (Administración de energía in my locale, don't know about english). Most motherboards will allow to configure the built-in network card WoL settings from the BIOS settings, though.
    – DGoiko
    Apr 3, 2020 at 17:14
  • Wifi allows to wake, but also to be waken (although not all chipsets do so)
    – DGoiko
    Apr 3, 2020 at 17:38
  • @DGoiko In English it's called "Power Management". Some NICs also have settings under the Advanced tab that you need to configure as well - they'll vary by card and even driver version, but are usually fairly self-explanatory (e.g., "Wake on magic packet = Enabled"). I'm pretty sure you need to configure it in both BIOS and in Windows, though. Oct 21, 2021 at 18:50
3

all the steps necessary

Since you didn't list them, we can't verify this. There usually are 3 components to this.

  1. The hardware must support it (Ethernet card with cable to motherboard WOL socket, or motherboard embedded Ethernet card with WOL)
  2. There is usually a BIOS setting that needs to be set before anything downstream will function.
  3. Settings in the network card setup accessed through Control Panel to look for Magic Packet and the various other iterations that can be used for WOL.
1

I had a virtual box installed on my computer and it was stopping me from waking the other computer. I uninstalled virtual machine and everything worked fine.

1

I had a similar issue and solved it, so I hope my experience can help someone :

My problem was with an option in the BIOS called "Erp Power Management". It was enabled and when I disabled it, Wake on Lan started to work. My BIOS doesn't have a "Wake on Lan" option in the "Power Management" tab, so I tried to play around with all parameters.

0

There are a lot of things to take into consideration here.

You're not specifying where does that "Magic packet received successfully" comes from, but I assume you're using some WoL listener to verify that the packet has arrived successfully when the computer is ON.

These are the things you must look into:

On the Computer to turn on

  • If the network card is not embebed into the motherboard, you must find a setting in your mobo to allow PCI cards to wake up the system. Then you'll have to check your card and motherboard to see which energy states are compatible with WoL.
  • If the network card is embebed into the motherboard, it will usually have some Wake On Lan option into the BIOS settings that will enable everything for you
  • If the network card is not embebed into the motherboard, you'll have to configure it from your OS to allow WoL (and optionally magic packets). Linux has ethtools, in Windows you have to go to your network card properties, click configuration to open the adapter configurtation window, and go to energy tab. The layout depends on yout network card, but modern Intel cards provide separate sections for WoL and energy saving, just enable everything for WoL if you don't know very well what you're doing.
  • Some computers (even on servers) will provide unpredictable behaviour when there's a power loss while the system is off and will never notify the switch of their presence until they're booted again, making WoL impossible. The "last state" on power recovery usually fix this, however, I recommend you to test it before, as you may find that you need to use the "power on" to be absolutly sure.

Router / switch

  • If PC2 has direct l2 access to the PC to turn on, there are usually no problems with WoL
  • If you have to perform WoL from the Internet or from a diferent network, there are many solutions. The simplest one is to map some port to the broadcast IP and WoL port, however, not all routers will allow to do so. OpenWRT DOES SUPPORT this kind of setting.
  • If you are not capable of configuring WoL through different networks, consider placing a WoL server into your computer networks and connect to it via ssh / http to display a menu that will execute commands locally. I preffer a ssh menu, however, in php it is as simple as:

Code sample for php dummy WoL server:

<?php
  $mac= $_POST["mac"];
  $port= $_POST["port"];
  $response= shell_exec("/usr/bin/wakeonlan $mac -p $port");
  echo $response;
?>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .