Hi Alan,

Alan Corey wrote:
Just wondering if anyone knows about tools for laptop battery repair
that might run under OpenBSD.  The "smart batteries" have a
microprocessor that interfaces to the cells and talks to the cpu over
an smbus.  ACPI talks to that bus, but it can't help with broken
batteries or replacing cells.

Google for a pdf called BH_US_11_Miller_Battery_Firmware_Public_WP.pdf
if you want to read more.  There's a semi-commercial program called
be2works designed for cell replacement and such, but the full version
is $300.  Is there anything open source?

BTW: Miller's bibliography at the end of the pdf above is quite good.
I was able to download all the pdfs he mentions.  Most are from TI.
Unfortunately he was working with Apple hardware, I've got Dell.  But
he got in there with logic analyzers and the whole bit.

Although the document contains interesting "internal details" about the hardware, I don't think these are very useful when dealing with broken batteries. Most of the communication is shielded by the APM/ACPI/other power manager. Being the author of BatMon for gnustep and owner of several laptops with different operating systems, I have some empirical experience. You may try to use http://gap.nongnu.org/batmon/ and depending on the OS/BIOS/Battery you might get a little interesting information

I think that when a battery goes bad, everything which is problematic is inside the battery. I also do think that the powermanagment more than often does a bad job, but there isn't much you can do. I have batteries which sometimes do run for 1 hour or more, but the power manager reports them as dead (= little internal capacity).

The chip inside tries to know: 1) the design capacity 2) the maximum capacity reached after the last charge 3) current capacity. Furthermore usually it tries to count the cycles

1) is always correct for original equipment batteries. I have seen "cheap oem" batteries with wrong values and it might be wrong if you susbstitute the elements inside with wrong

2) and 3) are what go wrong. Usually, you should see 2) slowly decreasing with each cycle. A "sane" but "old" battery drops about a small percent each time, so that perhaps after 400 cycles you are to 80% capacity. Nothing you can do about it!

Sometimes the battery "thinks" it has a too low capacity. In this case, weird things happen. THee best case is that you will get like "5 minutes left" but actually your computer continues to operate. Most often you will get an abrupt drop and you rcomptuer goes off before giving a meaningful warning... or whatever else.

Sometimes this might happen if just one of the elements goes bad. Laptop batteries do not have a balancing method, as far as I know.

Anyway, the battery should recalibrate itself after a full discharge cycle (Li-Ion don't have memory, but their chip drifts). But I have noticed that more recent and smarter batteries essentially fail to do that.

But essentially, other than trying to reset and force a recalibration with a tool from the host, I don't know what you else could do. Most tools are more like "smart dischargers" that end up trying to make the battery pack recalibrate itself.

I have found a lot of "voo-doo" on the web.. and found many bad batteries :)

One last thing. If one or more elements of a LiIon cell drop below a certain value, a circuit breaker opens the battery. No voltage out, but apparently in my experience, no way to recharge such a battery pack either! A LiIon cell should never discharge below a certain level, thus it is better to store batteries half-charged, not discharged. This is also the reason why LiOn batteries come pre-charged. Not for courtesy, but because they need to!

Riccardo

Reply via email to