What's new

If you use WOL and see the system process (acpi.sys) using extra CPU here is a workaround!

  • Thread starter Deleted member 27741
  • Start date
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

D

Deleted member 27741

Guest
If you use Wake On Lan on a windows machine, you may notice that the system process is using more cpu than normal. In my case it was pegged around 10% after each and every time I woke the computer. More analysis (processexplorer from sysinternals) led me to find the culprit was acpi.sys. One important thing to note about this cpu issue is opening device manager and similar windows programs can knock down the errant cpu usage for a short time- but it will come back up. So look back five minutes after you think it is fixed and you may get an unwelcome surprise. This is why I think there are so many different answers for this issue online.

The only thing I could find that would stop the issue for me was turning WOL by magic packet off in the advanced properties of the woke network adapter. That is all fine and good, but a pain in the behind to do each and every time you wake the computer, including the fact that it disconnects your internet momentarily. So off I went to find a solution I could live with for this ridiculously long lived windows/intel bug. Please intel and or windows, get off your lazy behinds and fix this thing it has been around for years.

I posted this solution on a couple of superuser.com questions but quickly became disillusioned with the system there requiring time and effort to get enough "cred" to post on the meaningful pages, so I turned to snbforums.com to post this solution without all the cred farming necessary to do it there on the more trafficked questions. Without further delay...
_________________________________________________________________

To add a workaround solution for those of us that use WOL despite this incredibly long lasting bug that intel and microsoft don't care to fix, I give you my solution that entails turning wol off and then on early in the system wake process. I recommend you confirm that turning off wol "wake on magic packet" does in fact reduce your overzealous cpu usage. In my scenario, "wake on pattern match" is off.

I added a task to run a powershell file on an event (triggers>on an event>basic> log: system, source: kernel-power, event id: 131, select enabled). Make sure to check: Run whether user is logged in or not and: Run with highest privileges.

In the task properties>actions>start a program>program/script box enter:
powershell.exe
In the task properties>actions>start a program>program/script>add arguments box enter:
-ExecutionPolicy Bypass -File "C:\Users\%username%\Documents\woloffon.ps1"

Remember to use your own path to the woloffon.ps1 file that you will create and insert the below text into.

woloffon.ps1 is as follows:
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Magic Packet" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Magic Packet" -DisplayValue "Enabled"
eventcreate /T Information /ID 123 /L System /SO woloffon.ps1 /D "woloffon.ps1 has been run"

___________________________________________________________

There are multiple ways to get this done. Devcon.exe can also be called from a task to restart the ethernet nic to circumvent the issue. This may be an even better option than changing the nic wol settings as above.

In order to do this, I invoke a batch file (devcon-nic-restart.bat as below) from task manager similar to the following (you must have devcon.exe in the proper folder, the carets are escapes to use the start command to run the commands in parallel)-

cd "C:\Users\***use your username here***\Documents\reset-nic"
start "ethernet" devcon restart ***hardware id of wol adapter with & escaped by ^***
eventcreate /T Information /ID 123 /L System /SO "devcon-nic-restart.bat" /D "\documents\restart-nic\devcon-nic-restart.bat has been run"


Go into the device manager>>your wol adapter>>properties>>details>>hardware ids>>right click (I use the top one there may be four or so) and copy to get the hardware id for the devcon command. It is necessary in the start command to escape the & characters with a ^ before them. For example-

hardware id before & escaped with ^:
PCI\VEN_8086&DEV_15B8&SUBSYS_54567765&REV_00
after:
PCI\VEN_8086^&DEV_15B8^&SUBSYS_54567765^&REV_00


 
Last edited by a moderator:

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top