Wednesday, March 26, 2014

SOLVED: Making Wake-on-Lan (WOL) work in Windows 10 / 8.x

WINDOWS 10 UPDATE:
THIS FIX ALSO APPLIES TO WINDOWS 10, IT IS EVEN MORE IMPORTANT,  BECAUSE WINDOWS 10 TURNS "FAST STARTUP" (read below) BACK ON AFTER UPDATES (yes, Microsoft does not stop creating nonsense features / bugs).
TO DISABLE FAST STARTUP ON WIN 10 THROUGH GROUP POLICY PREFERENCES CREATE THE FOLLOWING KEY:
HKLM\System\CurrentControlSet\Control\Session Manager\Power\HiberbootEnabled
and set its value to 0 !

I had very serious problems getting Wake-On-Lan (WOL) to work on my new Dell Optiplex 9020 MT (MiniTower) on Windows 8.1 Pro. I finally got this to work and would like to share my experience here.

Note: At the time of this writing the current Dell BIOS for Optiplex 9020 MT was A05.
UPDATE: The same behavior is also observed with DELL BIOS A07. Maybe Dell needs to comply with some power saving requirements and therefore enables Deep Sleep instead of Wake-On-LAN? Whatever the reason is, it is extremely annoying that this is the default and it is not clearly documented.
Note: I am using UEFI and Secure Boot.

UPDATE February 2017:  Besides the fix described here it might happen that you experience strange problems with your Dells like NOT waking up on WOL or the other way round - "MAGICALLY" waking up randomly for no reason (you see things in Windows log like "firmware" as start reason) - in both cases I recommend updating to latest Intel network drivers (the Dell drivers are often outdated). I don't know what is gouing on there with Dell hardware vs Microsoft vs Intel issues but it has become a nightmare to get simple things to work reliably these days...

WOL vs Dell Optiplex 9020

In Dells forums people recommended to downgrade the Dell BIOS or even to get their mainboard changed to get WOL to work:

http://en.community.dell.com/support-forums/desktop/f/3514/t/19539946.aspx?pi21953=1

I don't like doing such things because newer BIOS also has other bugs fixed and downgrading may even break something.

So I decided to look for a better solution. Actually nowadays things don't get easier but more and more complex as we will see...

How to test WOL?

First I downloaded a nice little utility and installed it on another PC to be able to send WOL wake-up packets to my Dell PC. It is called WinWOL is free and I found it here:
http://www.telnetport25.com/2013/01/winwol-windows-wake-on-lan-version-1-0/

Of course you can also use another WOL packed sending utility.

1. Enable Wake on Lan in the BIOS

So the first step is to make sure your BIOS is set correctly:

1. The obvious WOL setting in BIOS is under Power Management > Wake on LAN. You have to enable it by setting it to LAN Only for example.

2. The not so obvious setting is under Power Management > Deep Sleep Control. You must set this to Disabled, otherwise WOL will just not work.

2. Enable Wake on Lan in the Network Adapter Settings

Now in Windows go to the Device Manager > Network Adapter > Intel Ethernet Connection I217-LM, in my case.
Open the adapter settings and go to the Power Management tab
Make sure that all Wake on LAN options are enabled. I actually did not change any other energy settings on this tab, only activated the WOL options.


These settings should already make it possible to use wake on LAN in sleep and hibernate modes (BTW: hibernate mode must be explicitly enabled in Windows 8 (some of Microsoft's "brilliant" developers decided to do so).

What about WOL after shutdown?

The problem that actually caused all my headaches was the fact that I tested WOL after shutting down the PC from Windows. My PC just did not wake up after a normal Windows shutdown.

Normally, in a corporate environment you can't expect your users to put their PCs in sleep or hibernate only - they will also shut them down if they like. And shutdown definitely did not work with the WOL settings above alone.

Then I noticed the following: To have at least a chance that Wake-on-Lan will work you must make sure that the some lights are still on on your Dell's network adapter while attempting to wake up the PC via LAN.

But there was a problem: After a Windows shutdown of the PC all network card lights were OFF! Then I found out one more thing: If I switch on my Dell through the power button and then turn it off immediately (before Windows boots up) the network adapter lights are still ON - this means that WOL is possible! But after a Windows shutdown they stay OFF. So WOL is not possible.

So to me the situation was clear: Something in Windows shutdown makes my Dell turn off the network adapter completely, although WOL is enabled in  BIOS and in the Windows network adapter settings.

Microsoft did it again! Shutdown in Window 8 is "hybrid" and explicitly does not allow WOL!

After googling a lot I finally found an official Microsoft article describing that WOL behavior has changed in Windows 8 / 8.1:

http://support.microsoft.com/kb/2776718

Quote:
In Windows 8 and Windows 8.1, the default shutdown behavior puts the system into the hybrid shutdown state (S4), and all devices are put into D3. WOL from S4 or S5 is unsupported. Network adapters are explicitly not armed for WOL in either S5 or S4 cases because users expect zero power consumption and battery drain in the shutdown state. This behavior removes the possibility of invalid wake-ups when an explicit shutdown is requested. Therefore, WOL is supported only from sleep (S3) or hibernation (S4) states in Windows 8 and 8.1.

So WOL is explicitly disabled in shutdown in Windows 8 and 8.1. It is nice to hear that this is expected by Microsofts "brilliant" developers (they seem to expect a lot in Windows 8.x ...) but what I expect is WOL to work in a corporate environment and not to turn it off just because someone decided to save battery, especially on a desktop workstation (!) in this case.


WOL and Hybrid Shutdown in Windows 8.x

Hybrid shutdown for faster startups

Another strange thing is that this Windows 8.x WOL behavior seems to be related to hybrid shutdown which MS describes as follows:

In Windows 8 and 8.1, hybrid shutdown (S4) stops user sessions but lets the contents of kernel sessions be written to the hard disk. This enables faster startups.

Why are faster startups related to Wake-on-LAN?



I don't know - ask Microsoft and their "brilliant" engineers!

Disable fast startups and get WOL to work!


So according to Microsofts article you can disable fast startups = hybrid sleep as follows (of course not recommended, bla bla bla ...):

To disable the S4 state in Windows 8 and 8.1, follow these steps.

Note We do not recommend that you disable the hybrid shutdown (S4) state.

  1. In Control Panel, open the Power Options item.
  2. Click the Choose what the power buttons do link.
  3. Clear the Turn on fast startup (recommended) check box.
  4. Click Save Settings.
Another important annoying fact: If it seems that you cannot just change the power button settings but you need to first click on the text saying something like: "Some settings are currently not available..."  Again, very "user friendly", Microsoft...

It works!

The most amazing thing is that disabling the fast startup setting above really makes WOL work after Windows shutdown. Now if I shutdown my Dell from Windows 8.1 it leaves the network adapter powered, i.e. the green LED is lit and the orange LED is blinking. Sending a magic packet to the Dell wakes it up.

So it looks like this stupid WOL behavior is expected and wanted by Microsoft! So I am not sure if Dell will ever give us a BIOS update that will change it.

IMHO one thing is certain:

It has never been harder to get Wake-on-LAN to work!


I hope this helps! Again, thank Microsoft for wasting our time and making our life as hard as possible. In Windows 8.x everything illogical is possible! Expect the unexpected! Expect surprises everywhere!

Anguel

33 comments:

  1. Dunno what you did, but its driving me crazy. Am on Windows 8.1 Update 1 and i did disable the fast boot thing, and yet it did not work! Driving me insanely crazy. Am traveling with the need to being able to power on my computer and access it whenever needed! Its a Desktop PC and the motherboard is Maximus V Formula. Enabled everything i have to enable in the bios options, but windows just wont boot after a shutdown. Yet works perfectly from sleep or hibernate!

    ReplyDelete
  2. same thing like Adel. Works after sleep or hibernate but never after shutdown. And the Led next to the Lan card is always off after shutdown i give up

    ReplyDelete
    Replies
    1. Hmm, do you have the latest Dell BIOS?

      Delete
  3. Last BIOS, Win 8.1 Update 1.
    Same problem on Dell Optiplex 990 and 9010.

    ReplyDelete
  4. Thanks Anguel,
    The above worked perfectly for me on a Dell 9010. Many many hours of research and trial and error before I found the above.
    Three settings were required for me for Windows 8.1 on a Dell 9010 NIC Intel(R) 82579LM Gigabit Network Connection

    BIOS - Wake on LAN enabled

    BIOS - DEEP SLEEP disabled.

    Windows 8.1 - Power Options/System Settings "Turn on Fast Startup" DISABLED

    ReplyDelete
  5. Doesn´t work on my desktop :-(
    It must be an issue with S4.. Windows 7 i got no problems waking my desktop from a fully shutdown..

    ReplyDelete
  6. We got the same problem over here. W8.1 on a HP 600G1 pro tower. Fast startup disabled, bios wol on. PC would turn on through WOL with Windows 7, since Windows 8.1 no luck. Tried everything above... still not working.. Any ideas ?

    ReplyDelete
  7. Thank you so much for this post. I spent about 3 hours trying to figure out why a Dell E6400 laptop would not wake on LAN.

    I happened to notice that the network port LEDs would go off after a shutdown from 8.1, but if the power adapter was unplugged and plugged back in again it would work.

    Thinking this was a hardware error I duckduckgo'd as such and somehow got to this post.

    This solved my issue. Thank you so much for posting.

    ReplyDelete
  8. Hello, I hope this helps anyone out there. I did all three that Anguel suggested but still didn't work... until I changed in the power options to "Do Nothing" for "When I press the power button" and "When I press the sleep button". I hope this helps anyone out there. I spent months figuring this out.

    ReplyDelete
  9. Thank you very much; that missing Information cost me three and a half (until now) weekends to investigate, my wife still is angry... ;-) This is the same with the ASUS Z97-C Board besides, of course, since it has the same NIC. At least I can go to my Sunday beer :-))

    ReplyDelete
  10. THANK YOU!!! I could not access the WOL field in BIOS so I could change it. After reading your post I realized it was because the Deep Sleep was set to Enabled S4 / S5 or something to that effect. I disabled the deep sleep function and suddenly I could arrow up to the WOL, which was greyed out before. You're my new hero!

    ReplyDelete
  11. Thanks for this informative article. I had some troubles with Win 10. For example, after I upgraded it from win 8, my Wake-on-LAN does not work. I tried many things and finally I solved the problem.
    Here you can find how to configure Wake-on-LAN on Windows 10.

    how to configure Wake-on-LAN on Windows 10

    Hope it helps for somebody else who read this article.

    ReplyDelete
  12. Thanks for taking the time to write this up, it will be a great help to me.

    ReplyDelete
  13. Useful information shared. I am very happy to read this article. Thanks for giving us nice info. Fantastic walk through. I appreciate this post.
    Laptop deals 

    ReplyDelete
  14. I had the same issue on ThinkCentre M73. After implementing all given advices I was still cannot to boot on LAN. Basically I`ve install clean 8.1 pro and that was causing the issue. I`ve installed newest lan driver from Intel website and still LAN adapter was inactive after the reboot. Then I`ve installed drivers from Lenovo website dedicated to Intel(R) Ethernet Connection I217-V and that did the trick + advises given in that tutorial. Thanks mate, great job!

    ReplyDelete
  15. Thanks. Worked for me. Disabling fastboot was the missing puzzle piece I was looking for.

    ReplyDelete
  16. I cannot believe that disabling fast boot somehow enables WOL, thanks so much for posting this, it finally works on my Optiplex 790 running Win10!

    ReplyDelete
  17. In Windows 10 I also had to disable Hibernate AND Sleep. That's what finally did it for me.

    ReplyDelete
  18. Thank you very much! Your post just saved my day :)

    ReplyDelete
  19. YES!!!!!!. Taken me days to sort this, setup WOL many times in the past - just another case of M$ taking the urine, changes without thinking.
    Why not inspect the state of either the BIOS OR the network card M$? Users should have control NOT M$

    ReplyDelete
  20. Thanks. I'd spent a lot of time trying different things that had been suggested elsewhere, but your ideas worked perfectly.

    ReplyDelete
  21. Thank you Anguel!!! Running Optiplex 7040's with Windows 10. All were setup properly in BIOS and in O/S with no luck. The registry change you mentioned solved the issue. If MS is still flipping that on updates, it will be a Group Policy preferences setting .

    ReplyDelete
    Replies
    1. Yes, set it as GPO, they flip the option on updates!

      Delete
  22. Thank you. Your column is still helpful after almost three years! Had not seen the recommendation to disable deep sleep in the BIOS anywhere else on the net. Disabling that is what has saved what is left of my sanity. Thanks again.

    ReplyDelete
  23. Had the exact same problem with SOME of our Dell systems. Seems to be fixed on newer systems from Dell.

    2 Days of work to find this fantastic "feature" from M$..sigh

    Thanks a million for the blog.

    ReplyDelete
  24. Thanks !!! I was searching how to activate it on presion tower 3420 and the problem was the network card LEDs were off when pc is off too. I work on windows 7 and disabling the fast startup was the solution. Many many thanks !

    ReplyDelete
    Replies
    1. EDIT : I work on W10

      Delete
  25. Lovely Blog Post Keep Updating Your Blog !

    ReplyDelete
  26. Disabled Fast Startup on HP 8300 SFF running Win10 and WOL worked perfectly. Thanks!!!

    ReplyDelete