locked
Wake on Lan (WOL) not working on Hyper-V host RRS feed

  • Question

  • Symptom: If the last OS that was booted and shutdown the machine was Hyper-V server core, Wake on Lan (WOL) does not wake the computer once it is shutdown. However, if I swap out the hard drive, boot the machine with Linux, shut it down, then WOL does work.

    This seems very strange but I am able to replicate the situation consistently. Is it possible that Hyper-V server core is, on shutdown, putting the network adapter in some sort of mode that makes it unable to WOL? Any recommendations for how to investigate further/resolve?

    Machine: Dell Optiplex 980. BIOS is updated to latest revision, A16

    Network adapter: Intel(R) 82578DM Gigabit Network Connection

    Wednesday, August 24, 2016 1:20 AM

Answers

  • Hi DanL,

    Have you created virtual switches? If yes, delete and try again.

    >>Is it possible that Hyper-V server core is, on shutdown, putting the network adapter in some sort of mode that makes it unable to WOL?

    When virtual switch is created, the binding protocols on the NIC would be changed automatically. In brief, the NIC would act as a switch and virtual NIC on VM and host connect to it to communicate.

    In conclusion, the NIC is not the same as the original one, and I suppose it is the cause.

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 24, 2016 7:14 AM
  • Leo has it.

    Wake-on-lanis no longer available because the Hyper-V hypervisor is now the owner of the physical NIC, not the OS installed (the management OS).

    It is the same reason whyNIC drivers that employ power savings don't take VM network traffic into consideration and put the NIC into a low power state, because the management OS is not using it, but the VMs are.

    The ownership and scope of the physical device has changed one Hyper-V is involved.

    Besides, WOL is not a scenario that was ever designed for.  The use case of starting a hypervisor on demand is considered an edge case. Most folks would leave the hypervisor running, and then power the VMs off and on.

    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 24, 2016 2:58 PM
  • "I came here looking for technical advice/solutions, not suggestions to contact the vendor. "

    And that is what Leo was providing.  The fact that you have a device on your system that is not supported by the vendor (hardware device drivers are written and supported by the hardware vendor, not Microsoft), can cause issues, as Leo states.  And, yes, it is possible for one device driver to affect other components provided by Windows, particularly if they interact improperly with the Microsoft component.  If you want to see if it is a Microsoft issue, remove the unsupported hardware and its drivers. If the issue still exists, then it is time to open a ticket with Microsoft.


    . : | : . : | : . tim

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 31, 2016 12:49 PM

All replies

  • To be clear: I am trying to wake-on-lan the Hyper-V host, hot a guest. I am trying to wake the machine from a fully powered off state.
    Wednesday, August 24, 2016 1:30 AM
  • Hi DanL,

    Have you created virtual switches? If yes, delete and try again.

    >>Is it possible that Hyper-V server core is, on shutdown, putting the network adapter in some sort of mode that makes it unable to WOL?

    When virtual switch is created, the binding protocols on the NIC would be changed automatically. In brief, the NIC would act as a switch and virtual NIC on VM and host connect to it to communicate.

    In conclusion, the NIC is not the same as the original one, and I suppose it is the cause.

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 24, 2016 7:14 AM
  • Are you sure this is an issue just with Windows Server core?  (BTW, helpful to know what version of the OS).  Have you tried it with a full installation (same version)?

    Have you talked with the hardware vendor to see they support what you are trying to do on Windows Server core?


    . : | : . : | : . tim

    Wednesday, August 24, 2016 12:56 PM
  • Leo has it.

    Wake-on-lanis no longer available because the Hyper-V hypervisor is now the owner of the physical NIC, not the OS installed (the management OS).

    It is the same reason whyNIC drivers that employ power savings don't take VM network traffic into consideration and put the NIC into a low power state, because the management OS is not using it, but the VMs are.

    The ownership and scope of the physical device has changed one Hyper-V is involved.

    Besides, WOL is not a scenario that was ever designed for.  The use case of starting a hypervisor on demand is considered an edge case. Most folks would leave the hypervisor running, and then power the VMs off and on.

    Brian Ehlert
    http://ITProctology.blogspot.com
    Learn. Apply. Repeat.

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 24, 2016 2:58 PM
  • Thanks Leo, Tim, and Brian for your answers.

    Leo: I did have a virtual switch. I deleted it and tried again but still not working. Any other ideas?

    Brian: should it work if there is no virtual switch as Leo suggested? I guess what is confusing to me is how there is any ownership of anything when the machine is powered off. I would imagine that at that point, it is only the BIOS/UEFI and/or the NIC hardware that determine whether WOL should work. Is that not the case?


    Here are 3 cases that I just noticed that are perfectly repeatable:

    Case A

      1. Boot Hyper-V Core

      2. Shutdown Hyper-V Core (using shutdown option from sconfig.cmd)

      3. Check link light on NIC. It is OFF.

      4. WOL ---> Does not work.


    Case B

      1. Boot Hyper-V Core

      2. Shutdown Hyper-V Core (using shutdown option from sconfig.cmd)

      3. Check link light on NIC. It is OFF.

      4. Pull power cord.  Plug back in.

      5. Check link light on NIC. It is ON/Blinking.

      6. WOL ---> Works.


    Case C

      1. Boot some other OS (a linux distribution in my case)

      2. Shutdown OS using tools in the OS.

      3. Check link light on NIC. It is ON/Blinking.

       4. WOL ---> Works.

    So, when hyper-v core shuts down, it is putting the machine (and/or the NIC) into some state where the NIC light is off. Then I guess it is not surprising that WOL doesn't work in that case.  I guess what is surprising is why it does that, or rather, if it HAS to do that. Is it configurable? It seems like it should be... somehow.

    And yes, I agree that this is probably an edge case. However, it is probably not *that* uncommon. I have a use case where I only need the host and VMs on when I need them and it is inconvenient to physically access the machine to hit the power button.


    Thursday, August 25, 2016 2:01 AM
  • Hi DanL,

    >>Then I guess it is not surprising that WOL doesn't work in that case.  I guess what is surprising is why it does that, or rather, if it HAS to do that. Is it configurable?

     I suppose you may contact the technical support of the manufacturer to see if there are any related configuration in BIOS. Including the power management settings of the NIC.

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Friday, August 26, 2016 6:41 AM
  • Thanks. I am sure we all know how contacting the manufacturer will go.

    "We're sorry. The equipment was not sold with Hyper-V Server Core, and is thus unsupported."

    At any rate, I've gone through the BIOS and have tried everything that seems relevant.

    Friday, August 26, 2016 11:08 PM
  • This page has a nice description on power states: https://msdn.microsoft.com/en-us/library/windows/desktop/aa373229.aspx

    It has as section on WOL at the very bottom. It says: "WOL is supported from sleep (S3) or hibernate (S4). It is not supported from fast startup or soft off (S5) shutdown states."

    Ok, so that is clear. Can my system do either S3 or S4? Here is the answer:

    C:\Users\Administrator>powercfg /a
    The following sleep states are not available on this system:
        Standby (S1)
            An internal system component has disabled this standby state.
                    Graphics
    
        Standby (S2)
            The system firmware does not support this standby state.
            An internal system component has disabled this standby state.
                    Graphics
    
        Standby (S3)
            An internal system component has disabled this standby state.
                    Graphics
    
        Hibernate
            Hibernation has not been enabled.
    
        Standby (Connected)
            The hypervisor does not support this standby state.
            The system firmware does not support this standby state.
    
        Hybrid Sleep
            Standby (S3) is not available.
            Hibernation is not available.
            The hypervisor does not support this standby state.
    
        Fast Startup
            Hibernation is not available.
    
    
    C:\Users\Administrator>
    

    So, S3 has been disabled by "Graphics." Any thought at why that might be? I noticed that the system is using the "Microsoft Basic Display Driver 6.3.9600.16384" I figured I would install the ATI Radeon drivers for my video card. That seems to have installed but S3 is still disabled by "Graphics." Any ideas?

    Saturday, August 27, 2016 9:32 PM
  • Hi DanL1917,

    How many GPUs do you have?

    >>That seems to have installed but S3 is still disabled by "Graphics."

    Do you mean you have installed the ATI's driver?

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Monday, August 29, 2016 9:13 AM
  • Hi Leo,

    > How many GPUs do you have?

    One card. Note that I am only concerned about the host using the card.

    > Do you mean you have installed the ATI's driver?

    Yes. They don't have a specific Windows Server 2012 R2 driver, but the driver for Windows 8 installed without issue. I think that I was expecting was to see that the ATI driver is activated and I no longer see the Microsoft Basic Display Driver (which I think is what is preventing the machine from going to sleep state S3) but I don't see that or don't know how to check.

    Dan

    Monday, August 29, 2016 12:57 PM
  • Hi Dan,

    According to Windows Server Catalog, it seems your device is not certified for Server OS:


    https://www.windowsservercatalog.com/noresults.aspx?1&text=Dell+Optiplex+980&bCatID=1282&cpID=0&avc=10&ava=0&avt=0&avq=0&OR=5&PGS=25

    Products which are not certified may also work with Server OS, but some features may not work properly.

    Besides, the device is a desktop computer, consult DELL to see if it is supported to run Server OSes.

                         


    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Tuesday, August 30, 2016 6:29 AM
  • Leo, really? I came here looking for technical advice/solutions, not suggestions to contact the vendor. That is a dead end. Unless you are a Fortune 500, the second the vendor has cashed your check, they do everything possible to not have to hear from you, especially when you are trying to do something that deviates in any way from what is "supported" or "certified."

    Additionally, I am asking questions that have very little to do with my specific device.

    I am asking why the Microsoft Basic Display Driver--which did not come from Dell--is preventing the Windows Server OS from going to a particular sleep state.

    I'm asking how, using the tools provided in the Windows Server OS, I can change from using the Microsoft Basic Display Driver to another driver.

    If I happen to figure this out, I will post here so that people in similar situations can leverage the result.

    Tuesday, August 30, 2016 11:14 PM
  • Hi Dan,

    >> I came here looking for technical advice/solutions, not suggestions to contact the vendor.

    I didn't find any information about the similar issue. And considering it is a driver issue, that's why I came to check the device compatibility and found it not certified. Not certified doesn't mean it would not work, but it may get issues.

    >>Additionally, I am asking questions that have very little to do with my specific device.

    >>S3 has been disabled by "Graphics." Any thought at why that might be?

    >>I am asking why the Microsoft Basic Display Driver--which did not come from Dell--is preventing the Windows Server OS from going to a particular sleep state.

    The issue is caused by Graphics and its driver. Driver is closely related to the device and the OS. That's why I suppose the issues is related to your device. 

    I don't know the model of the ATI card, if I were you, I would check if the driver could work with Hyper-V server. Installing without issue doesn't mean working without issue.

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact tnmff@microsoft.com.

    Wednesday, August 31, 2016 2:20 AM
  • "I came here looking for technical advice/solutions, not suggestions to contact the vendor. "

    And that is what Leo was providing.  The fact that you have a device on your system that is not supported by the vendor (hardware device drivers are written and supported by the hardware vendor, not Microsoft), can cause issues, as Leo states.  And, yes, it is possible for one device driver to affect other components provided by Windows, particularly if they interact improperly with the Microsoft component.  If you want to see if it is a Microsoft issue, remove the unsupported hardware and its drivers. If the issue still exists, then it is time to open a ticket with Microsoft.


    . : | : . : | : . tim

    • Proposed as answer by Leo Han Wednesday, September 7, 2016 7:19 AM
    • Marked as answer by Leo Han Friday, September 9, 2016 8:22 AM
    Wednesday, August 31, 2016 12:49 PM
  • As noted in my previous message, I commented that if I figured this out I would post here.

    To refresh, my problem was: my install of Server Core 2012 used the "Microsoft Basic Display Driver" as the driver for the video card. If you examined the available powerstates using powercfg, you would find that entering sleep/standby states was disabled by this driver. I couldn't simply install the driver for my particular video card since one didn't exist (it is a consumer card which is "unsupported" in server 2012).

    The resolution was:

    1. Get the video card driver for the most similar OS to server 2012 core (in my case, the windows 8 driver)

    2. extract the driver and modify the INF to be compatible with the server 2012 core installation (you can get the NT version you are using by running "ver"). Basically following with this guy did here: https://foxdeploy.com/2013/09/12/hacking-an-intel-network-card-to-work-on-server-2012-r2/

    3. Turn off integrity checking using bcdedit (see above link)

    4. reboot to take into account disabled integrity checking

    5. Install modified driver with pnputil. You will get a popup warning that the signature doesnt match but asking if you want to install anyway. Say yes.

    6. It is important to note that at this point, you are likely still not actually using the driver you just installed. The reason is that Windows has an algorithm for "ranking" drivers that apply to specific vendor/device IDs and since your modified INF does not have a valid signature, it has a much higher "ranking" (higher ranking is worse) than the Microsoft Basic Display Driver. You can see the ranking by looking at C:\Windows\Inf\setupapi.dev.log

    7. Install the Windows Driver Kit on the machine.

    8. Use devcon.exe update from the driver kit to force Windows to use your driver (which you installed in the windows driver store in step 5).  Your command will look something like this:

    "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" update C:\Windows\Inf\oem0.inf "PCI\VEN_1002&DEV_9540"

    where C:\Windows\Inf\oem0.inf is the driver you installed to the driver store in step 5

    and "PCI\VEN_1002&DEV_9540" is the device id of the device you want to force to use the oem0.inf driver.

    After executing step 8, you should be using your modified driver.

    I hope this helps someone.

    Sunday, October 16, 2016 6:09 PM