Thinkpad T420 Battery Threshold Conflicts

I’ve been using Manjaro for a good long while and currently I keep a Windows install just to control the battery, since I’m Windows 10 I used Lenovo’s Vantage to control the thresholds. I’m hoping one day to remove Windows since I don’t boot into it anymore outside of battery reasons.

The thresholds themselves still work on Linux but I have no way of controlling them, so far I have to reboot each time I want to adjust them, like if I need to charge them further.

I’ve looked at various tools in the Arch wiki like TPL and TP_Smapi, which didn’t show up when I tried the normal Pacman -S Command and the AUR package didn’t work, when I set it with TLP it didn’t seem to make any difference.

Two theories I have is either Vantage overrides TLP and conflicts, or the T420 is too old for TLP and can’t use the thresholds, I did testing where I turn the thresholds off but that didn’t appear to make a difference, it would charge up but it would go past the thresholds no matter what.

If anyone has any advice on how I can get the battery control working under Manjaro i’d appreciate that, or even confirmation if it really is too old to use these, since the T420’s fairly old. I don’t want to remove Windows without getting it settled in case I need to recharge the batteries or if some driver gets stuck.

I think this might help you.
Please do note the mention of tpacpi-bat and how to use it.

Should I boot in and disable Vantage first? Or is it fine just to test this first?

Vantage may override the values once you boot into Windows 10 again, note exactly sure how that program works, it depends. But when you are only in Manjaro the values will not be overwritten, no.

So far the steps I did are the modprobe And the threshold sets, I did the first part successfully, since I already had the bat from the AUR, but if I try to add the thresholds I get “cannot write to /proc/ACPI/call: permission denied at /usr/bin/tcacpi-bat line 418”

Running it with sudo shows “Call: _SB_PCI0.LPC.EC.HKEY.BCSS 0x5a
Response: 0x0called”

Same resolutions for the second command for ST P 45, just with 0x2D instead.

Just in case, I tested it with sudo modprobe in case I needed it and the wiki didn’t list it, but the results were the same, not sure how I know whether modprobe works or not.

So now I uninstalled Vantage.

I can charge on Windows 10

And at one point I could charge on Linux

But when I enable TLP via start, now it doesn’t let me charge on Linux, it just says Charging and TLPs status says “Unknown”, even if I manually disable settings in TLP and reboot, it’ll still say “Unknown”, even by going into the conf and switching enable to 0, I have no idea how to enable charge on here now, aside from booting into Windows and letting it charge from there.

You can always try:
sudo tlp recalibrate

Then cancel it
See if it reset the charge threshold it self and force charging after by
sudo tlp-stat -b
Then try to change via tlpui the charge threshold to the same value as stock (96 and 100)
Sorry for my bad english