New
#1
Excessive battery drain during S0 sleep (modern standby)
For my Lenovo X1 Yoga 3rd Gen (Win 10 20H2 Build 19042.928) I have had issues using hibernation. About 30% of the time, the WiFi device will not work when resuming from hibernation. The device will not even appear in device manager. A reboot is required to make it appear and function again. I did lots of searching regarding this problem and I found that if I update to the latest BIOS (1.41) then for "Sleep Mode" in the BIOS I can select "Linux" instead of "Win 10" and this will make Sleep Mode S3 available. This worked great and I would use sleep instead of hibernate. But then I noticed that if the sleep was initiated by closing the lid of the computer, the touch screen would not work (disappears from device manager) when resuming from the sleep. This can be fixed by disabling the Thunderbolt port (but I need it for an ID Token). The touch screen works fine if the sleep was initiated in the Start menu or with the power button. But the problem is that if I put the computer to sleep with the power button and it enters sleep, the computer will immediately wake when I later close the lid and I have been unable to figure out why this happens.
So after all of that, I decided to try to get Modern Standby (S0) to work for me. I set the Network to be disconnected when in the S0 sleep state so now a powercfg /a shows these as the available sleep states:
Standby (S0 Low Power Idle) Network Disconnected
Hibernate
I did this so that I could get as low power as possible, and I have no need for the computer to do anything while sleeping (which is why I prefer S3). I started with a fully charged computer and closed the lid. 11.75 hours later I opened the lid and the battery remaining was around 28%. So that is about 6.1% per hour discharge rate, which is quite excessive. I did powercfg /sleepstudy and it shows Mobile Intel(R) Processor Family I/O PCI Express Root Port #9 - 9D18 (\_SB.PCI0.RP09) 100% active during that time.
I look in device manager and it reports the device is working properly, there are no conflicts, the version is 10.1.1.45 with a date of 7/18/1968 (odd date!), and provider is INTEL. When I look on the Lenovo support page for my computer, the chipset driver version is shown as 10.1.18228.8176 (12/25/2019) and if you look in the ReadMe it says 10.1.1.45 (1/30/2018) is two versions back. So I am not sure why the Lenovo auto updater isn't installing this. I am not even sure what a PCI Express Root Port #9 is, so I am really at a loss to determine why it won't go to a low power state.
I have performed all of the updates using the Lenovo support page auto update and all Windows updates have been performed. One thing I noticed is that for this device in device manager, when I go to the drive tab and select driver details, it lists several files:
C:\windows\system32\DRIVERS\nipbcfk.sys (National Instruments 3.0.0f0)
C:\windows\system32\DRIVERS\nipcibrd.sys (National Instruments 18.5.0f0)
C:\windows\system32\DRIVERS\nipxibrc.sys (National Instruments 17.3.0f0)
C:\windows\system32\DRIVERS\nischifk.sys (National Instruments 2.0.0.0f0)
C:\windows\system32\DRIVERS\pci.sys (Microsoft, 10.0.19041.1)
All but first one lists Microsoft Windows Hardware Compatibility as the Digital Signer. This laptop has a fair amount of National Instruments (LabView, etc) installed on it, so maybe that is what is causing the high power usage during sleep. I am considering uninstalling all of that. I really don't understand why so many driver files are listed in "Driver File Details", and why none of them are version 10.1.1.45 (the version reported in the Driver tab.
Thanks for any suggestions.
- - - Updated - - -
I updated the chipset driver to the version 10.1.18228.8176 found on the Lenovo website (Device Manager now shows it as 10.1.5.2 for the Mobile Intel(R) Processor Family I/O PCI Express Root Port #9 - 9D18 device). This time I started with the battery at 100% and closed the lid for 3 hours and the battery lost just over 30%. So that is over 10% per hour. The report has a 1 hour session where the computer was active (not in sleep or hibernate) and it only used 14% in an hour.