N900 Hardware Charge Meter

(Software: typo fixed)
(Software: removed old obsolete info ~~Joerg)
 
Line 22: Line 22:
Now on kernel mailinglist is series of patches which improve (report more properties about battery then BME) kernel driver bq27x00_battery. All these issues are fixed. Backported patches for N900 are here: http://talk.maemo.org/showpost.php?p=925980&postcount=674
Now on kernel mailinglist is series of patches which improve (report more properties about battery then BME) kernel driver bq27x00_battery. All these issues are fixed. Backported patches for N900 are here: http://talk.maemo.org/showpost.php?p=925980&postcount=674
-
As of now (2011-10-20) this kernel module still isn't fixed for good and introduced massive problems by either exclusively opening I2C bus so bme couldn't work anymore when started after this module got loaded, or the patch introduced with powerkernel-48 thoroughly messed up '''all I2C''' on the system, thus creating possible race conditions that may even destroy your hardware.
 
There's a [[N900_Hardware_Charge_Meter/bq-script|script]] and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK)
There's a [[N900_Hardware_Charge_Meter/bq-script|script]] and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK)
-
Or you can use Joerg_rw's original bq27k-detail script (needs bash, originally built for OM NEO FR: http://people.openmoko.org/joerg/battery/bq27k-detail), with this cmdline:
+
Or you can use Joerg_rw's original bq27k-detail2 script.
-
<pre>i2cdump -y 2 0x55 b|tail -n +2|cut -d " " -f 2-17|./bq27k-detail " "</pre>
+
New version available at http://people.openmoko.org/joerg/battery/bq27k-detail2 works (with bash and i2c-tools installed) without any cmdline acrobatics, on OM FR and stock N900 (no broken bq27200.ko kernel module and thus no power kernel needed. Might even fail on some powerkernel versions when that module got loaded)
New version available at http://people.openmoko.org/joerg/battery/bq27k-detail2 works (with bash and i2c-tools installed) without any cmdline acrobatics, on OM FR and stock N900 (no broken bq27200.ko kernel module and thus no power kernel needed. Might even fail on some powerkernel versions when that module got loaded)
[[Category:N900 Hardware]]
[[Category:N900 Hardware]]

Latest revision as of 12:24, 16 October 2017

There is a charge meter chip in the N900, a TI BQ27200 this can be used to accurately measure the state of the battery.

[edit] Hardware

In many phones, this chip would be integrated into the battery, which has a number of benefits, from more rapid temperature sensing of potentially dangerous conditions in the battery, to being able to swap the battery, and have the swapped batteries charge accurately measured instantly.

The N900 integrates this chip onto the motherboard.

[edit] Software

It does not function properly in normal use with the stock BME as that usually turns off the phone before the threshold which would enable the charge monitor to properly learn the battery capacity.

With a replacement BME, it can learn battery capacity, and be used for useful life predictions.

It also can be used for energy profiling - see this page on power use.


There is no kernel driver in the default N900 software for this chip, a partial third party driver bq27x00_battery exists.

This third party driver has some issues - for example - the 'current_now' value it exports is not mA, but needs multiplied by (3.57/n) - where n is the sense resistor in the N900. The sense resistor seems to be between 20 and 22 mR - but no accurate measurements have been performed, and the schematic does not help with this.

Now on kernel mailinglist is series of patches which improve (report more properties about battery then BME) kernel driver bq27x00_battery. All these issues are fixed. Backported patches for N900 are here: http://talk.maemo.org/showpost.php?p=925980&postcount=674


There's a script and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK) Or you can use Joerg_rw's original bq27k-detail2 script. New version available at http://people.openmoko.org/joerg/battery/bq27k-detail2 works (with bash and i2c-tools installed) without any cmdline acrobatics, on OM FR and stock N900 (no broken bq27200.ko kernel module and thus no power kernel needed. Might even fail on some powerkernel versions when that module got loaded)