[TRACKING] High Battery Drain During Suspend

Has anyone noticed an improvement here recently? I’m using Archlinux with kernel version 6.3.1 and the s2idle sleep mode. All four of my USB modules are USB-C. It’s otherwise an OG Framework with a i7-1165G7 CPU. I haven’t done any firmware upgrades in a while. My BIOS version is 03.07.

I haven’t done any careful measurements yet, but it seems like suspending uses a lot less battery than it was previously just a few weeks ago. (Probably before a kernel upgrade.) I left it unplugged for several hours today. When I went back to it, I realized what I had done and figured my battery would be at 50-60%. But it was still at 98%.

I’ll try another more careful experiment tonight and see what happens. But I was just curious to see if anyone else noticed any improvements and what might have changed.

Yes, things have improved. I just redid some measurements and the situation is indeed better than a year ago:

Unfortunately, USB-A and HDMI cards still force a significant drain compared to just USB-C (I think @nrp thought BIOS 3.17 should have improved the USB-A situation, but I did not see that reflected in my test), but that should not be an issue for you.

Hah, well, I’d prefer to have my HDMI and USB-A modules in (with 2 USB-C modules), but I swapped them out precisely because of this issue. But assuming things got substantially better, I’ll take the win with 4 USB-C modules.

Well, bummer, my test seems to suggest that things are still not so great. I left my laptop in s2idle for about 11.5 hours last night. It was at 100% when I left it. When I opened it this morning, it was at 8%. So the battery drained approximately 8% per hour. Which is… just awful. I had 4 USB-C modules connected. And I did update the BIOS to 03.17 before running the test.

2 Likes

Just a reminder - deep over s2idle and removing unused expansion cards makes a difference. I usually have two used on my own laptops at once unless I am connected to a ton of stuff. And even then I am connected to power at that point because I am already anchored to external displays.

We’re also actively working to minimize power drain on DP and HDMI as well.

and

Measurements posted indicate that the difference between deep and s2idle is minimal, though, and possibly within the margin of error. Are you basing your reminder on specific hardware configurations where the difference is significant?

My main motivation to retest was to verify the claim that the USB-A problems had been ameliorated: Passifying the USB-A Card - #30 by nrp . While s2idle performance across the board does seem to have improved, it seems the “penalty” for having a USB-A plugged in hasn’t changed. This makes me think the improvements are due to improvements in the hardware support in the Linux kernel; not in the firmware updates.

I’ve managed to squeeze out a couple of hours with the switch (12th gen), but other factors will come into play.

Ah, fair point.

Thanks for the response and reminder.

Indeed. I used to use deep because it didn’t drain power as quickly (as I recall it). But it takes about 10 seconds to resume after I open my lid. For my usage patterns, I’d rather faster power drain than have to wait that long every time I open the lid.

When I did my test above, I had nothing except the power coord plugged into the laptop. The other 3 ports were just USB-C modules. Are you saying I should take those modules out too to improve power drain? As in, don’t have any modules except for the one used for charging plugged in?

1 Like

Yes, that’s just awful. I have greeted my laptop warm to the touch after suspension for a while at some occasions – but only when it was plugged in and I think when I plugged it in after suspending, so I try to avoid changing the power state of the system while suspended. So hopefully this was an accidental mishap? (little solice if you can’t identify with confidence what led to the bad performance, so that you can avoid it…)

While not awesome, yes, in my testing it has made some difference. But I think mileage will vary.

New kernel updates will hopefully also provide additional relief as we progress through this.

We’re also looking to tackle this at the expansion module level where possible. Appreciate the feedback and experiences thus far.

@anarcat did extensive testing on various configurations of modules and his findings indicate that the USB-C pass-through modules make no discernible difference. It would be interesting if you’d find otherwise, since they’re supposed to be just an extension cord, as far as I understand. (the penalties for plugging in stuff should also not be expected to be additive: the presence of a certain module apparently prevents certain hardware inside the laptop to go into a low-power state. Adding another module that would have the same effect doesn’t necessarily incur another penalty on top)

2 Likes

If you don’t mind longer wake times, add mem_sleep_default=deep to your kernel params to significantly save on battery life on Linux based systems.

1 Like

From my understanding, newer expansion cards were also supposed to help/fix this issue, or was that with just power draw in general?

I’m experiencing this suspend issue (inconsistently) on 13th-gen (with fedora 38), which in theory got the second gen expansion cards with it. I do have USB-A and HDMI slots.

Are these same issues confirmed on the v2 cards as well?

HI @Tim_Sawicki,

Here’s a bit of background on the cards and changes made to those expansion cards that saw a refresh.

2 Likes

Thanks @Matt_Hartley , appreciate you sharing =)

Are there any updates on this issue? As someone who travels a lot, this is becoming more and more of a nuisance and seems like a very important issue to fix (I think most people expect something like this to work OOB without work-arounds that don’t really provide the same functionality).

Hoping it has high criticality. Even finding/making a safe combo of expansion cards would be a good start.

I can only speak to Linux, Ubuntu 22.04 and Fedora 38 specifically. So I’ll assume you’re using this as well.

I will only speak to Intel products as that is what is out right now.

13th gen does well in daily usage. Ubuntu and Fedora, using our battery optimization guide, you will see pretty solid battery life. For ticket and forum work, I get through my shifts no problem. Video, obviously, will drain the battery faster.

I have not had the cycles to do fresh battery drain testing in 13th Gen Intel, but the improvements with the expansion cards have helped.

Myself, personally, I have never, ever put a laptop into suspend overnight not connected to power (unless I was doing testing) as it never made sense for my own use case.

Once we get settled down a bit, I will be doing fresh battery drain testing with suspend, but overall with my current workload it’s very low on the list at the moment. Not due to importance, rather available cycles.

Ah, I am running Fedora 38.

I hear you here, but I can think of a lot of examples where you wouldn’t be suspending it connected to power, or overnight even.

I have had several cases where I’m, say, in an airport with airplane mode on and no external devices connected (including Bluetooth), close the laptop and put it in my bag to hop on the plane, only to pull out the laptop an hour later with it basically on fire, fans blasting, and 40-50% drained.

Same with people who bring it to work to throw it into their bag to travel to/from. If you aren’t aware of this issue, you can totally cook your laptop on accident.

It also does not do it consistently. I have tried manually clicking suspend before closing the lid, just closing the lid, connected to power or just battery, airplane mode or normal. Sometimes it actually suspends correctly and remains cool to the touch, sometimes it doesn’t and does what I describe above. I might as well just shut it off cuz it’s such a dice-roll and I’m worried about damaging my laptop.

It could be this is related to some random power settings and something is actually waking it up somehow during suspend? But it seems to me potentially related to what people are describing here and in an enclosed space it also will kick the fans on as heat builds, draining even more power (though is that possible in suspend?).

It might be good to try and see what the actual problem is because right now I don’t know if this general issue is some sort of issue during actual suspend where it’s somehow drawing too much power, or related to the laptop somehow waking during suspend, whether that be a power setting or otherwise, or not suspending correctly at all to begin with, somehow?

3 Likes

IMO the different distros ultimately just lead to different ways of configuring kernel settings.

While there is plenty benefit to have up-to-date documentation on how to configure the settings correctly for the major distributions, I would much rather see a check-script that tests the kernel settings (depending on hardware generation [obviously]) if they match best practices.
For anyone struggling with the power settings, I hope this provides more inside into the question which changes might help.

@Tim_Sawicki that’s the issue I forked into this topic and investigated in more details: [RESPONDED] Linux s2idle sleep "random" power usage increase
From what I noticed in my testing, the OS is not considered “resumed” as in the s2idle logs we can see the OS doesn’t print anything and only print the resume lime when resuming the laptop, no matter if it’s running hot (~7w) or cold (<=1w).
I also do consider this a dangerous and critical bug and not just a “nice to have” power saving feature, but gave up on hopping a fix, especially now that newer motherboards have been released and interest for mine (11th gen) has already fall. If the exact same problem is encountered on 13th gen maybe that’ll bring up the interest a bit for them.

1 Like

This is the part I don’t understand…why not just shut it down. It takes almost as long to boot as it does to come out of suspend these days, so why continue using something that regularly breaks. Sure walking from one floor to the next, leaving the office for a meeting nearby i.e. carrying the laptop in hand…but closing it up and stuffing it in a bag…just shut it down. Not only safer, but also definitively more secure.