Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ThinkPad battery charge control



On Thu, 2024-04-25 at 21:54 -0400, Malte Dehling wrote:
> Hi,
> 
> I've added some things to the thinkpad acpi driver to allow modifying
> battery charging behavior: keep charge within a range, force
> discharge,
> disable charging on AC.  I think something like this would be good to
> have in NetBSD, but not necessarily how I implemented it.  So this is
> mainly a request for discussion :)
> 
> I've attached patches for reference and in case anyone wants to use
> them
> -- tested on my old X230 and W530 but based on my reading and
> studying
> acpidumps the same should work on most newer models.
> 
> On Linux and FreeBSD people just make acpi calls from userspace it
> seems, usually hidden away in tools like TLP.
> 
> OpenBSD recently added sysctls hw.battery.{chargestart,chargestop,
> chargemode} to provide this functionality (supported currently only
> by
> the thinkpad and apple silicon drivers.)  The approach is simple, but
> not as flexible as I would like:
> - It doesn't let you control charging behavior of individual
> batteries.
> - There are reasons to want to control charge_inhibit and
>   force_discharge modes separately.
> 
> Finally, a question: The ACPI standard has for a long time had
> (optional) _BMD & _BMC methods to control charging of control method
> batteries.  Has anyone seen these implemented in the wild?
> 
> Cheers,

Hi Malte,

I applied your patch to NetBSD-10.0_STABLE successfully and tested the
kernel on a thinkpad T420s. I set charge_stop=85 and charge_start=15. 
With the laptop on mains it stopped charging the battery at the 85%
value. I switched force_discharge=1 and ran a build release to put some
load on, the battery level dropped down and sailed past 15% towards
zero - the thinkpad alarm alerted me and a quick unplug/replug of the
power lead started recharging it. I had vaguely hoped that as the 15%
level was breached the charging of the battery might restart
automatically, i.e force_discharge would reset to zero :-)

I think this is a really useful feature as there seems to be a view
that charging li-ion cells to 100% reduces their life and it is best to
avoid discharging them below 15%. These figures are what Samsung
recommend on mobiles phones. 

Cheers,
Dave


Home | Main Index | Thread Index | Old Index