New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Thinkpad X230 Coreboot] Recalibration not working #626
Comments
Hi, are you shure that Coreboot supports force-discharge? Maybe it doesn't. It also does not seem to provide complete battery data to the kernel, otherwise your
Please show the output of
and
|
That was actually my last thought. Maybe coreboot does not support it. But the thing is that I didn't find any similar issues with coreboot. Also TLP doesn't really "manage" the battery life cause I just have like 5h of battery life with the 9-Cell battery.
Output of
|
tpacpi-bat cannot determine the entry point for the call. I can't say what exactly goes wrong there, but in any case something is different than with a stock ThinkPad BIOS. I recommend you just wait for kernel 5.17. There force-discharge is already built in and the detour via tpacpi-bat/acpi_call is obsolete. If it still does not work, then the support in Coreboot is missing.
charge_full/full_design/now sysfiles normally contain values in mAh. But your values are obviously in mWh (if you omit 000 at the end), they fit a ThinkPad 9 cell battery. current_now is mA too, but the value seems in mW. So Coreboot delivers wrong values and behaves differently than a stock ThinkPad BIOS, where the sysfiles are always called energy_* (see my post). In short, this all looks pretty buggy.
Since you are talking about battery operation, please show the output of
in battery mode, so that I can see if the settings apply. EDIT: also show
|
@moonxraccoon :
|
Due to inactivity I'll close here. Nevertheless, you are welcome to post new findings here. |
Sorry I forgot to respond. |
I was recently digging through the old Coreboot wiki and found some workaround for this and similar issues. At least this works for my X220:
The battery immediately started discharging (AC adapter plugged in), tlp-stat shows this:
Don't mind the I'm not sure if this can somehow be implemented in TLP without rewriting the Coreboot code, but perhaps this workaround could be useful to someone with similar problems. |
Oh my, not yet another external tool (and not another workaround) for ThinkPads :-( This does not belong in TLP. Coreboot must be extended to provide the ACPI calls BDSG and BDSS that the kernel expects: |
Sure, I get it. It looks like the Coreboot devs knew about the problem: https://ticket.coreboot.org/issues/156, but settled on implementing thresholds logic and left it at that, I'll see what I can do about it. Thanks for clarification :) |
[x] I've read and accepted the Bug Reporting Howto
[x] I've provided all required
tlp-stat
outputs via Gist (see below)Describe the bug
When trying to recalibrate my
BAT0
it wont let me, usingsudo tlp recalibrate
command:Information about battery via
sudo tlp-stat -b
:So the problem seems to be the
tpacpi-bat (acpi_call) = inactive (none)
line, and I just cant get tlp to manage the battery. I just get like 5h on the 9 cell battery when doing light work (coding in nvim).Expected behavior
Recalibration should work with my battery and also I had much more battery time (around 12-16h) on Void Linux with TLP.
To Reproduce
Run
sudo tlp recalibrate
.Full output of
tlp-stat
: https://gist.github.com/cosmicraccoon/a0398c612317ca40095b91497352ce97Additional context
Already tried standard Linux kernel and
acpi_call
with it. Also tried LTS kernel with lts versions. Modprobedthinkpad_acpi
andacpi_call
.5.16.14-zen1-1-zen
1.5.0
1.2.2-1
The text was updated successfully, but these errors were encountered: