2010-04-12 13:29:57

by Mohamed Ikbel Boulabiar

[permalink] [raw]
Subject: Low-Level and Long-Term Battery Control

Hi,

Is there any function in the Linux kernel that control the
charging/discharging of the battery to provide better lifespan ?
(add some years to its life ?)

For Laptops, it is better to extract the battery from the Laptop when
the computer will be on power for a long period.
I ask if the kernel can do such control without the user intention and
in an automatic way.

Some BIOS provide to the user to select whether to block the battery
charging to 50% to make it stand for more time.
And Many people (like me) forget their laptops on power until the
battery no more can hold energy after 2minutes of no power.

I am not sure for the MacBook side, but it seems they don't suffer
from such problem in the same degree as other laptop users.

I think it is a serious problem because if you keep you battery on
power for one week you will detect it becomes holding only 50% of its
energy compared to when first bought.

Thanks,

Mohamed-Ikbel BOULABIAR


2010-04-15 18:02:13

by Pavel Machek

[permalink] [raw]
Subject: Re: Low-Level and Long-Term Battery Control

Hi!

> Is there any function in the Linux kernel that control the
> charging/discharging of the battery to provide better lifespan ?
> (add some years to its life ?)

No, I don't think so.

> For Laptops, it is better to extract the battery from the Laptop when
> the computer will be on power for a long period.
> I ask if the kernel can do such control without the user intention and
> in an automatic way.
>
> Some BIOS provide to the user to select whether to block the battery
> charging to 50% to make it stand for more time.

Where have you seen that?

> And Many people (like me) forget their laptops on power until the
> battery no more can hold energy after 2minutes of no power.
>
> I am not sure for the MacBook side, but it seems they don't suffer
> from such problem in the same degree as other laptop users.

Normally, smart battery should control charging itself; and it usually
does pretty well.

Exceptions are very small devices such as spitz, but for those
batteries CCCV charging with temperature monitor is usually enough.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2010-04-15 23:43:18

by David Rees

[permalink] [raw]
Subject: Re: Low-Level and Long-Term Battery Control

On Thu, Apr 15, 2010 at 11:02 AM, Pavel Machek <[email protected]> wrote:
>> For Laptops, it is better to extract the battery from the Laptop when
>> the computer will be on power for a long period.
>> I ask if the kernel can do such control without the user intention and
>> in an automatic way.
>>
>> Some BIOS provide to the user to select whether to block the battery
>> charging to 50% to make it stand for more time.
>
> Where have you seen that?

I do recall that some older ThinkPads had a utility that would let you
determine what "empty" and "full" was by setting artificial limits.
It's well known that by keeping batteries from being fully
charged/discharged can significantly extend it's useful life although
you will suffer from shorter run-times. How sensitive a battery is to
this depends on it's exact chemistry, but all are affected by this to
some degree.

For example, by keeping your battery from charging above 85% and below
15% can increase the number of charge/discharge cycles a large amount
often on the order of 5-10 times more charge/discharge cycles - much
more than the 30% reduction in total capacity. Limiting to 25-75%
will help even more.

-Dave

2010-04-16 04:15:23

by Pavel Machek

[permalink] [raw]
Subject: Re: Low-Level and Long-Term Battery Control

On Thu 2010-04-15 16:42:56, David Rees wrote:
> On Thu, Apr 15, 2010 at 11:02 AM, Pavel Machek <[email protected]> wrote:
> >> For Laptops, it is better to extract the battery from the Laptop when
> >> the computer will be on power for a long period.
> >> I ask if the kernel can do such control without the user intention and
> >> in an automatic way.
> >>
> >> Some BIOS provide to the user to select whether to block the battery
> >> charging to 50% to make it stand for more time.
> >
> > Where have you seen that?
>
> I do recall that some older ThinkPads had a utility that would let you
> determine what "empty" and "full" was by setting artificial limits.
> It's well known that by keeping batteries from being fully
> charged/discharged can significantly extend it's useful life although
> you will suffer from shorter run-times. How sensitive a battery is to
> this depends on it's exact chemistry, but all are affected by this to
> some degree.
>
> For example, by keeping your battery from charging above 85% and below
> 15% can increase the number of charge/discharge cycles a large
> amount

>From charging below 15%?

> often on the order of 5-10 times more charge/discharge cycles - much
> more than the 30% reduction in total capacity. Limiting to 25-75%
> will help even more.

I believe I've seen "don't charge above 85%", but "don't charge above
50%" is quite excessive...

Anyway, this is done by smartbattery, not by OS.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2010-04-22 09:25:28

by Mohamed Ikbel Boulabiar

[permalink] [raw]
Subject: Re: Low-Level and Long-Term Battery Control

> Anyway, this is done by smartbattery, not by OS.

I've found this for IBM laptops :
http://www.thinkwiki.org/wiki/Tp_smapi#Battery_charge_control_features

The features exist in windows for Sony Vaio laptops as the users say here
http://forum.notebookreview.com/showthread.php?t=288638
http://ubuntuforums.org/showthread.php?t=1225557

And it seems the same for Acer.


But it is very strange that only some companies exposes such features.
We can't find a way to do that by some reverse engineering ?
How does the lm_sensors guys discovering sensors in laptops ?
http://www.lm-sensors.org/


Any way, I always think that it can be controlled in some way, but we
don't have a public api explained for that.

M-I