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