High Battery Drain During Suspend (Windows edition)

I believe it is a WD Black 1TB NVME that I bought from Framework directly.

Part of me thinks that not understanding the modern standby conditions could be the issue here. IE: what software could be interfering and not responding to SO properly. I suspect my browser might be able to perform tasks in the background, and for various chat web clients, this could mean they are trying to maintain connects through S0. I’m going to check if that is the issue, and I’ll report back.

“connected standby - network connected” can be switched to “connected standby - network disconnected” via gpedit or regedit.

…not sure that they’re called exactly that.

2 Likes

I’ll brave search that and make it so! Thanks!

So under device manager there is no power tab for the wifi card. Also no entry for it under advanced power options. I’m at work now, and haven’t been able to confirm (although I don’t remember this being present), but that could be the method to turn connected and disconnected on:
image
You just uncheck the two options under wifi.

Will edit this with whether or not this is possible, and if this change is reflected when powercfg -a is run.

Ok so figured it out. Windows does not expose the option above in either the settings GUI, device manager, or via advanced power scheme settings.

You will have to use the following powercfg command in an elavated CMD window to disable connected standby:
powercfg /setacvalueindex scheme_current sub_none F15576E8-98B7-4186-B944-EAFA664402D9 0

If you want to enable it for some strange reason it would be the same command with a 1 at the end instead:
powercfg /setacvalueindex scheme_current sub_none F15576E8-98B7-4186-B944-EAFA664402D9 1

(You can also use group policy or the registry editor to make the change. I prefer CMD as it is just one line and no hunting around a UI.)

Edit: I just wanted to add that the powercfg options do not seem to persist upong reboot. The best option I’ve found is to use group policies and disable those settings.

Computer Configuration > Administrative Templates > System > Power Management > Sleep Settings

There look for the allow network connectivity options and disable them. (There are two: plugged in and battery)

I personally think this will help with a number of problems described here. I would add that I think disabling connected standby as one of the first maintenance task of setting Windows up is a great idea.

4 Likes

Thanks for this! Curious to see what kind of drain you’re seeing with this disabled.

FYI if you want a deeper look into what is draining power during standby, run a SleepStudy as described by Nirav here.

By the way, I’m back to the original audio drivers after running into some rebooting issues on the Microsoft drivers. Meanwhile I’ve set it to hibernate after an hour of sleep to minimize draining while I wait for a fix from Framework. As mentioned, resuming from hibernate is very quick so it’s a fine short-term workaround for me.

3 Likes

@feesh @jeshikat This should be fixed by installing the latest driver bundle:

2 Likes

@Kieran_Levin I can confirm that updating to the 2021_08_21 beta driver pack did fix the High Definition Audio Controller being the top offender during sleep study.

It still only goes ~45 minutes before hibernating but I’m pretty sure the SX8200 Pro is the culprit.

1 Like

You can set the time before hibernation in your power plan. If it’s not available, then you can add it by searching for a regedit edit.

In this case it’s Modern Standby exceeding the battery budget. When in Modern Standby (S0ix) if the battery discharges more than 5% it will switch to hibernation to preserve charge level.

1 Like

Unfortunately after running the installer (twice) it looks like I’m still getting the same drain rate from the audio controller:

I saw in the changelog that the fix is coming from the addition of Intel Smart Sound Technology, but I’m not seeing any indication of it running. Not sure I’m looking for it in the right places though–a quick Google search says that it should appear under Device Manager > System Devices but I don’t see it there.

@jeshikat Do you get any notifications or tray icons that say SST is running? Any SST device in your Device Manager list?

Thanks for the response @RandomUser. There are no SST devices listed in Device Manager for me. Here is the contents of the frameworkinstall.txt file:

"Framework Starting install: Tue 09/07/21 13:25:27.10" 
S e r i a l N u m b e r                 
 
 <redacted>    
 
 Microsoft PnP Utility

Processing inf :            gna.inf
Failed to install the driver : No more data is available.


Total attempted:              1
Number successfully imported: 0

I believe so. Here’s the result of dir:

09/06/21  20:56        10,545,416 Framework_Laptop_BIOS_3.03.exe
08/09/21  18:25       845,358,704 Framework_Laptop_driver_bundle_2021_07_08.exe
09/06/21  20:57       996,783,568 Framework_Laptop_driver_bundle_2021_08_31.exe

I used the ...2021_08_31.exe for both attempts.

I unpacked the bundle and modified the install script to only include the audio driver portion. Looks like it worked.

Previously when I ran the executable I noticed that there was no “Installing Intel Smart Sound” or “Installing Realtek Audio” echo, so for some reason the conditional was failing.

2 Likes

@feesh which SKU do you have? Could you share the output of:

pnputil.exe" /enum-devices /class MEDIA /connected

run from an admin shell.

@Kieran_Levin I have the i7 DIY. pnputil output:

C:\Windows\system32>pnputil.exe /enum-devices /class MEDIA /connected
Microsoft PnP Utility

Instance ID:                BTHHFENUM\BthHFPAudio\8&2cc85896&1&97
Device Description:         LE-Bose QC35 II Hands-Free AG Audio
Class Name:                 MEDIA
Class GUID:                 {4d36e96c-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          Microsoft
Status:                     Started
Driver Name:                microsoft_bluetooth_hfp.inf

Instance ID:                BTHENUM\{0000110b-0000-1000-8000-00805f9b34fb}_VID&0001009e_PID&4020\7&17e6baa8&0&2C41A183D5D0_C00000000
Device Description:         LE-Bose QC35 II Stereo
Class Name:                 MEDIA
Class GUID:                 {4d36e96c-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          Microsoft
Status:                     Started
Driver Name:                microsoft_bluetooth_a2dp_src.inf

Instance ID:                INTELAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_F1110001&REV_1000\5&3298e61c&0&0001
Device Description:         Realtek(R) Audio
Class Name:                 MEDIA
Class GUID:                 {4d36e96c-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          Realtek
Status:                     Started
Driver Name:                oem21.inf
Extension Driver Names:     oem20.inf

Instance ID:                INTELAUDIO\CTLR_DEV_A0C8&LINKTYPE_06&DEVTYPE_06&VEN_8086&DEV_AE50&SUBSYS_00000011&REV_0001\0601
Device Description:         Intel® Smart Sound Technology for USB Audio
Class Name:                 MEDIA
Class GUID:                 {4d36e96c-e325-11ce-bfc1-08002be10318}
Manufacturer Name:          Intel(R) Corporation
Status:                     Started
Driver Name:                oem61.inf

I suspect it was failing the check before because I was using the default Microsoft audio drivers.

In other news, looks like the audio controller drain is gone!

While ~3.2%/h is still a bit higher than I’d like, it is much better than before.

3 Likes

Thanks for helping us catch issues and resolve them before we roll the driver bundle out to a broader audience!

4 Likes

Thanks feesh and RandomUser for the idea. I did the same by editing the install.bat to including JUST the audio driver portion. As preparation for that, I used the original framework driver package to reinstall the realtek audio driver Framework provided. Then I ran the script.

When I run the

pnputil.exe /enum-devices /class MEDIA /connected

command I get info for the realtek audio and intel SST. Where as before I did all of that (but had already tried installing the updated driver package) I had just the Realtek audio driver showing up.

So something is definitely failing. When I reinstalled the Realtek driver, and then ran the driver update package, it still did not install the audio drivers. Modifying the install bat file was necessary.

I’m not sure if re-installing the Framework provided Realtek audio driver is necessary before installing the Intel SST driver. Might be something to clarify before officially releasing.

This IS an improvement from before. It was about ~1 hour before. BUT, it would be good if we got a bit more standby time for our 5% of battery life. Still hibernate is what I set my lid action to when on battery. Seems the best way to not loose any battery % for being unused.

1 Like

I’m hoping that we get some more insight into what else is draining, as ~3% per hour is still way above my expectations. I’m used to <0.5% per hour on other laptops.

Random Googled solutions I’ve tried with no noticeable effect:

  • Disabling network connectivity during standby via Power Plan
  • Disabling Intel Management Engine device in Device Manager

Like @RandomUser, the only other red I’m seeing in SleepStudy is NoHwDrips.C10.Unknown. No idea what it means though.

Hibernate is fine but I prefer the instant wake from Modern Standby. Tried switching over to S3 sleep after seeing this but for me, waking from that takes about 30 seconds (much longer than waking from hibernate).

1 Like

My tiger lake spectre 13 lasts for 15 hours before draining 5% of battery. My latitude 7420 lasts 10 hours. In my 13 hour workday if I open my laptop four or five times over that span potentially 20-25% of my battery would be consumed just from it being asleep (or rather, in modern standby), wheras other tiger lake laptops demonstrate that you can achieve that same kind of workday only losing a few percent to modern standby. Clearly further optimization needs to be done.

EDIT: Decided to check my other laptop’s performance in modern standby instead of relying on memory. Here is my 2020 spectre x360 with an 1165g7, 8x2GB 4266mhz, 1TB SN550.

25 hours to drain 5% in modern standby.

4 Likes