07/30/2010, 01:25 PM
|
#101 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
Some news:
Seems that the data is not coming from the battery but from the "Fuel Gauge IC". (EDIT: More likely this chip is IN the battery) If you are interested in hardware it's a Dallas Semiconductor MAXIM DS2784. Should be possible to recalibrate the battery. Sorry the following is very technical. You don't have to read it ;-) GENERAL DESCRIPTION The DS2784 operates from 2.5V to 4.6V for integration in battery packs using a single lithium-ion (Li+) or Li+ polymer cell. Available capacity is reported in mAh and as a percentage. Safe operation is ensured with the included Li+ protection function and SHA-1-based challenge-response authentication. Precision measurements of voltage, temperature, and current, along with cell characteristics and application parameters are used to estimate capacity. The available capacity registers report a conservative estimate of the amount of charge that can be removed given the current temperature and discharge rate. In addition to the nonvolatile (NV) storage for cell compensation and application parameters, 16 bytes of EEPROM memory is made available for the exclusive use of the host system and/or pack manufacturer. This facilitates battery lot and date tracking or NV storage of system or battery usage statistics. AND: CAPACITY ESTIMATION OPERATION Aging Estimation As discussed above, the AS register value is adjusted occasionally based on cumulative discharge. As the ACR register decrements during each discharge cycle, an internal counter is incremented until equal to 32 times the AC. The AS is then decremented by one, resulting in a decrease of the scaled full battery capacity by 0.78% (approximately 2.4% per 100 cycles). See the AC register description above for recommendations on customizing the age-estimation rate. Learn Function Since Li+ cells exhibit charge efficiencies near unity, the charge delivered to a Li+ cell from a known empty point to a known full point is a dependable measure of the cell capacity. A continuous charge from empty to full results in a learn cycle. First, the active empty point must be detected. The learn flag (LEARNF) is set at this point. Then, once charging starts, the charge must continue uninterrupted until the battery is charged to full. Upon detecting full, LEARNF is cleared, the charge to full (CHGTF) flag is set, and the age scalar (AS) is adjusted according to the learned capacity of the cell. Last edited by somline; 07/31/2010 at 01:37 AM. |
07/30/2010, 06:56 PM
|
#102 (permalink) |
|
Member
![]() Join Date: Jun 2009
Location: Ohio
Posts: 406
Likes Received: 2
Thanks: 52
Thanked 46 Times in 37 Posts
|
somline, this is a good find. Lots of interesting things come from this:
A full recharge cycle feeds the IC's Learn cycle so it knows about the battery and sets the LEARNF flag. And it must be a full charge from empty to full, continuous. That way it reads the battery capacity (or calculates it). Also, this helps me understand what happens when I swap batteries. I have a couple of Pre batteries, the two Centros and one 1350mAh Sedio. When I put the Sedio in, having charged it in the external battery charger, the Pre defaults back to a GetFull40 of 1150.00. That is the default as pointed out earlier. But if you swap batteries that have different capacity levels, the Pre won't understand a higher capacity battery - probably until you do a complete discharge/recharge cycle. The 1150 default is definitely a safety issue, as you wouldn't want the phone to default to 1350, 1400, etc. It also means you would NOT want to put a smaller battery (capacity) in the Pre - I wonder if it might overcharge it. I think my next step is to run a test with my Sedio - run apps to run the battery down, do a full recharge, and examine the parameters again and see what I have. The lack of this step is probably the reason some with Sedios reported the 1150.00 reading in GetFull40. I doubt if it's a defective or smaller size battery. Regarding the Age Estimation you highlighted, I wonder how different batteries are handled by swaps? Does the chip inside the battery record the data for the AS or ACR register? Otherwise how would the phone know how many cycles have actually occurred? And what happens if you recharge batteries in the external battery charger? If the register is in the battery, it's recorded; if the phone, it's missed. Somehow this points to the battery holding some of this information. Seems like the Pre has the chance to be very confused by battery swaps and different size batteries. I'm getting confused just trying to figure it out myself.
|
07/30/2010, 07:37 PM
|
#103 (permalink) | |
|
Moderator
![]() Join Date: Jan 2009
Location: SW Ohio
Posts: 3,858
Likes Received: 92
Thanks: 1,019
Thanked 1,061 Times in 715 Posts
|
Quote:
__________________
Palm III-->Handspring Visor-->Sony Clie PEG-NR70-->no PDA -->Palm Treo 755p-->Palm Pre-->HP Veer
|
|
07/31/2010, 12:37 AM
|
#104 (permalink) | |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
Quote:
Someone with an open pre may have a look at this. I was wandering as jp99 what is saved in the battery? Something should be there? EDIT: Now when I read my own post again ;-) "The DS2784 operates ..... for integration in battery packs" - So it's likely in the battery (thanks jbg7474). EDIT2: In the kernel source I've also found (a driver) some traces for the Texas Instruments BQ2700 Fuel Gauge. EDIT3: It's confirmed that the chip is IN the battery Last edited by somline; 08/11/2010 at 12:03 PM. |
|
07/31/2010, 01:05 AM
|
#105 (permalink) |
|
Member
![]() Join Date: Jun 2009
Posts: 16
Likes Received: 0
Thanks: 4
Thanked 14 Times in 9 Posts
|
I'm one of the Pre owners with a Seidio 1350 battery reporting 1150.
Consistent with the previous postings, I do swap between an OEM 1150 battery and the Seidio 1350, so that COULD be a cause of the problem. However, as noted above, the capacity information being stored in the phone, rather than the battery, would be extremely problematic when swapping batteries ... and especially problematic when switching between batteries with much larger variances, such as between 2300 and 1150. Therefore, I have to assume that this capacity and calibration information is stored in the battery. So, despite the OEM to Seidio to OEM swapping that is occurring and seemingly a possible cause, I'm more inclined to think that maybe the Seidio battery was just never properly calibrated, and has therefore always defaulted to 1150. I guess the next thing to do to prove or disprove this, I'll have to completely discharge the Seidio battery. That's not very convenient. Nonetheless, I'll take one for the team and report back. Might take a while though. |
07/31/2010, 11:18 AM
|
#108 (permalink) |
|
Member
![]() Join Date: May 2009
Location: Palm Springs, CA
Posts: 65
Likes Received: 0
Thanks: 7
Thanked 3 Times in 3 Posts
|
i have seido 1350 batter and getfull40 reads only 1150 does anyone know how to force a reset of battery? i tried pulling battery and full reboot no change. Also, put stock battery back in and same get40 amount of 1150. ??
|
07/31/2010, 11:32 AM
|
#109 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
As you may have seen, we are still investigating.
No reset known atm. You can help by analyzing the logfile /var/log/messages after a reboot searching for a line like: "unable to read battery full40 or full40 = 0 - using default of" Or zip the whole file and attach it to your post. You may also try 3-4 full decharge and charge cycles. Charge without interruption and post your results. |
08/01/2010, 12:00 AM
|
#113 (permalink) |
|
Member
![]() Join Date: Jul 2009
Posts: 329
Likes Received: 5
Thanks: 29
Thanked 49 Times in 34 Posts
|
So, recently I was getting some temp patch warnings, so i looked at the charging current of my battery as + 800 ma. I always remember it maxing at about 550 ma in the past. Do anyone think just viewing these files could have something to do with that? also, is 800 ma abnormally high?
|
08/01/2010, 07:09 AM
|
#114 (permalink) | |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
Quote:
Reading these files does nothing. |
|
08/01/2010, 07:21 AM
|
#115 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
Update:
I've managed to set age to 100%. The problem I had was to set the battery into learning mode. Final I got it and now I'm waiting for the learning to finish. At the moment this procedure is very complicated. |
08/01/2010, 07:44 AM
|
#116 (permalink) |
|
Moderator
![]() Join Date: Jan 2009
Location: SW Ohio
Posts: 3,858
Likes Received: 92
Thanks: 1,019
Thanked 1,061 Times in 715 Posts
|
I let my battery drain last night until my Pre shut down, then put it on the charger overnight. This morning I checked and the numbers look the same as before. So either the conservative accounting of battery capacity is really accurate, or I didn't get it into learning mode.
somline: interested to hear the results!
__________________
Palm III-->Handspring Visor-->Sony Clie PEG-NR70-->no PDA -->Palm Treo 755p-->Palm Pre-->HP Veer
|
08/01/2010, 08:04 AM
|
#117 (permalink) | |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Berlin
Posts: 2,440
Likes Received: 76
Thanks: 517
Thanked 759 Times in 433 Posts
|
Quote:
I let the battery drain until shutdown and monitoring the registers. cat dumpreg is showing you the registers of the (battery) chip. Description in link of post #101. In the status register (Byte 01) you can find the the LearnFlag (Bit 04): Example: cat dumpreg 00: 0f 71 00 00 00 05 00 01 e6 22 1f a0 56 00 e4 fa ...... b0: 04 18 Hex: 71 = Binary: 0111 0001 Bit 04 is set means Learning is active. Shortly before shutdown, this bit was set. But after reboot it was cleared again. |
|
08/01/2010, 08:09 AM
|
#118 (permalink) | |
|
Member
![]() Join Date: Oct 2009
Posts: 1,829
Likes Received: 341
Thanks: 180
Thanked 573 Times in 310 Posts
|
Quote:
There probably isn't any way to "reset" this as the "reset" would only get you back to 1150 - that's the undecayed capacity of your battery when it was new. Battery ratings are more or less averages; no battery has EXACTLY the capacity printed on it, there's some variation. My Mugen 1400 for example only had a full capacity of 1358mAh. That is of course much better than the 200mAh difference in your case, that's over 20%... I don't know about warranty laws where you are from, but maybe you could contact Seidio about it and get a replacement. If a battery rated 1350 has an actual capacity of 1290 that's cool, but 1150 is definitely a battery they shouldn't have sold under this rating. Last edited by GodShapedHole; 08/01/2010 at 11:38 AM. |
|
08/01/2010, 08:30 AM
|
#119 (permalink) |
|
Member
![]() Join Date: Jun 2009
Posts: 16
Likes Received: 0
Thanks: 4
Thanked 14 Times in 9 Posts
|
I had the same result. I tried twice to recalibrate the Seidio 1350mAh battery (which is showing getfull40=1150), but no success. Both times, I let the phone run completely out of power until it shut itself down. The first time, I let it recharge to 100% on the Touchstone, the second time I used the USB charger. Same result on both, still 1150.
|
08/01/2010, 09:46 AM
|
#120 (permalink) |
|
Member
![]() Join Date: Jun 2009
Posts: 16
Likes Received: 0
Thanks: 4
Thanked 14 Times in 9 Posts
|
In my two drain and recharge attempts to recalibrate, I was concerned that the Pre would power itself on once it got to some minimal level of battery power. I was hoping it would stay off, so that the battery could get it's full charge as cleanly and quickly as possible, but for both the Touchstone and the USB charge, the Pre powered itself on very early in the charging cycle. I wonder if this behavior has something to do with the learnflag being cleared.
|
![]() |
|
| Tags |
| battery |
| Thread Tools | |
| Display Modes | |
|
|



