You are not logged in.

#1 2016-12-13 11:17:57

jonascj
Member
Registered: 2014-02-28
Posts: 20

[Solved] Wakes from suspend on low battery (below 7-8%)

Hi everyone,

I'm experiencing an suspend issue on my HP Elitebook 840 G1 (https://wiki.archlinux.org/index.php/HP … ook_840_G1):

The issue

  • If I suspend (with 'systemctl suspend') when the battery is low (below 7-8% charge) the laptop will wake immediately, i.e. suspend seem to succeed (screen goes blank, lights go out, power button light starts pulsing etc.) but then after 2-3 seconds it will wake again as if I pushed the power button.

  • If I suspend when the battery is not low (more than 8% charge left) suspend works perfectly, but when the battery eventually drains below those 7-8% charge it will wake again by itself, and then of course just burn through the rest of its battery and then turn off.

What I've tried / further observations
Hibernate always works, the computer does not wake from hibernation, no matter if I hibernate on high or low battery. The machine will however not wake from hibernation if I suspend it when the battery is below 7-8%.

I'm trying to figure out what is going on and hopefully remedy the situation so I can suspend on low battery, or not have it wake on low battery.

I can't see anything suspicious in the logs, but maybe some of you can. This is just the journalctl output tightly cropped to the suspend and wake activity.

Log of suspend and power button resume on high battery (normal): https://ptpb.pw/HtQq
Log of suspend on low battery, wakes immediately (issue): https://ptpb.pw/WBn6
Log of suspend on high battery, wait to drain, wakes again on low (issue): https://ptpb.pw/RHjA

Possible causes
Hello71 on #archlinux@freenode suggested it was actually an feature to prevent loosing state/work if the battery drains while in suspend. With such a feature it could wake from suspend while there is still battery enough left to perform hibernation (suspending to disk). The fact that the laptop will not wake from hibernation on low battery (below 7-8%) probably favors Hello71's explanation ...  I can't however find any HP specs detailing this, and I can't seem to disable the behavior no matter how many "Deep Sleep", "Wake on USB", "Intel Smart Connect Technology" features I turn off in the UEFI/bios.

Since the processor is i7-4600U (Haswell) I also thought it could be this bug affecting Haswell systems https://wiki.archlinux.org/index.php/Po … om_suspend , but the solution listed there ('# echo EHC1 > /proc/acpi/wakeup' etc.) does nothing, and also this only happens on low battery. That bug seems to be a general issue, also causing reboots instead of shutdowns etc.

Anyone got any ideas?
Anyone who have further ideas for debugging, or how to work with/around this feature/issue?

Thank you!
/ Jonas

Edit: just discovered that the pc will not wake from hibernation if the battery level is below 7-8%. This probably favors the feature theory. I've added this information inline as well.

Edit2: Marked it as solved for now, since we are unlikely to uncover this by further discussing it. I have asked HP, hopefully I get an answer and remember to write it here

Last edited by jonascj (2016-12-15 19:30:01)

Offline

#2 2016-12-13 17:26:31

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: [Solved] Wakes from suspend on low battery (below 7-8%)

I would be inclined to say Hello71 is right on the money, it is probably a feature you can't disable. The OS that came with the laptop probably handles that just like Hello71 described. Most people will not notice it or even expect it works like that and if the machine doesn't work they will just plug the charger until it turns on.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#3 2016-12-13 21:33:27

jonascj
Member
Registered: 2014-02-28
Posts: 20

Re: [Solved] Wakes from suspend on low battery (below 7-8%)

R00KIE wrote:

I would be inclined to say Hello71 is right on the money, it is probably a feature you can't disable. The OS that came with the laptop probably handles that just like Hello71 described. Most people will not notice it or even expect it works like that and if the machine doesn't work they will just plug the charger until it turns on.

Thank you for your input. The more time goes by I agree with you (and Hello71) that it is a feature, and it can most likely not be disabled or modified easily.

But I don't understand what you mean when yous say most people will not notice it or expect it works like that:

Expect it to work how, like Hello71 describe? If so, right, I certainly didn't think anyone could want such a feature. If it could be modified it would be quite smart!

And how would people not notice it? If you try to setup suspend manually (e.g. Arch without desktop environment) you might follow this Wiki section https://wiki.archlinux.org/index.php/La … tery_level and try to auto suspend with udev when the battery reaches 5% capacity, only to find out that when you suspend the computer resumes again immediately. I did that and first concluded that it was a general suspend issue, only by chance I found out it was battery level related.

Of course now I might work around it by exclusively using hibernate which always works, i.e. hibernate at 5% battery where I originally intended to suspend. That would also work with the feature in cases where I close the lid at 20% battery and forget the laptop for a week. Then the laptop would then wake again at ~8%, and at 5% udev would hibernate it, saving my ass (state) to the disk.

Offline

#4 2016-12-14 00:35:10

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: [Solved] Wakes from suspend on low battery (below 7-8%)

When I say most people wouldn't notice I mean people running windows, which I assume is what the machine had installed when you bought it. Windows will do its thing and people couldn't care less about what it does as long as their cat videos resume playing the next time they turn on their computer.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

Board footer

Powered by FluxBB