macdan

Trying to hack Apple's Battery Reset 2.0 utility to work on Pismo

I've had excellent results using Battery Reset 2.0 to return batteries to life. Battery Reset runs on Wallstreet, Lombard and clamshell iBook. It does not run on Pismo. My goal is to figure out if BR can be made to run on Pismo.

Apple Knowledge Base article, and download

Will it work for your dead battery? Dunno, but the best candidates seem to batteries that are completely unrecognized by the PB. I revived 4 or so that showed no life at all. The one battery that wouldn't revive was the one that did show up but never charged past a single blinking light.

Now mind you, a couple of those revived aren't exactly towers-of-power in terms of useful life but at least they are once more _useful_. However the other two are 3-4 hour runners, all-in-all quite a jump in value from the lumps of plastic and lithium I was ready to toss into a junkbox.

The problem I'm trying to overcome is that Battery Reset 2.0 will not run on Pismo, even though Pismo batteries would benefit just as do Lombard's. I don't know if Pismo is unsupported because Apple never got around to updating BR after Pismo's intorduction? Or if BR refuses to run on Pismo because it cannot run because of some hardware incompatibility. However, the first step is to convince BR that running on Pismo is OK.

As I have PBs both Lombard and Pismo (plus Wallstreet and clamshell iBook too) I tried a number of tricks and was unable to determine how Battery Reset knows on which hardware it's running. I used GestLab to spoof various gestalt selectors, and also to compare PBs Lombard and Pismo to see the differences. I also used MacsBug to try determine and then trap the calls which allowed BR to run (or not) but as I'm no programmer I had no luck. Poking around inside BR with Resorcerer revealed lots o' interesting stuff, but . . . did I mention I'm not a programmer?

For what it's worth, here's my GestLab reports on PowerBooks Wallstreet, Lombard and Pismo, and clamshell iBook.

Considering the power manager hardware we find there are two types of PMUs used, 68HC05 in Wallstreet and Lombard, and the PMU99 used in iBook and Pismo. Now Pismo's devnote doesn't mention the actual chip used, but as iBook shares the same PMU99 moniker I'll assume for the moment they use the same hardware. I'll have to crack open a Pismo to be sure however, just haven't done it yet as of this moment.

Here's the power manager infos from the devnotes:

  • Wallstreet - "68HC05 microprocessor, also called the PMU"
  • Lombard - "68HC05 microprocessor, also called the Cuda PMU"
  • iBook - "Mitsubishi M16C/62F microprocessor, also called the PMU99"
  • Pismo - "custom IC called the PMU99"

Since the clamshell iBook does support Battery Reset, and since the Lombard/Pismo batteries appear to be functionally identical to iBook's battery (though of course of a completely different formfactor) I would hazard to guess a clamshell iBook could also be used to 'Battery Reset' a Lombard/Pismo battery. I haven't though tried it yet . . .

some random ramblings . . .

Since the PB-to-battery comm facility is a serial interface I suppose I could go in search of serial chips on the charging boards. I'm thinking though that it shouldn't matter, since the specific hardware is probably abstracted by the OS. That is, BR just sends some commands to the battery through the OS which handles the actual communication.

It dawns on me that perhaps the supported PB's _CAN_ write to their batteries, but because of somehow different HW a Pismo _CANNOT_ write?

Since the PB-to-battery comm is done over a serial interface, might it be possible to directly capture (on Lombard of course) what BR 'says' to the battery and then use that to connect to, and reset, a battery over an external serial interface?


I need help to do this hack! I'll need help from someone with MacsBug and 68K-code experience (I _think_ BR2 is written in 68K-code.) I've only a rough idea about this stuff, but I _do_ have the interest _and_ both PBs Lombard and Pismo on hand with which to play. You can contact me at:

macdan at comcast dot net

back to macdan

revhist

2004.03.09 - original page