Why my openpandora classic cannot be charged to 100% via AC/miniUSB


steward-fu

Still Fresh
Joined
Jun 29, 2017
Messages
19
Hi,
I found my openpandora classic cannot be changed to 100% (only reach about 75%).
And even though let it power-off automatically by execute command (dd if=/dev/zero of=/dev/null), the battery is about 35% after power-on again.

Firmware version is 1.76.
Battery info: bq27x00-battery 3-0055: support ver. 1.2.0 enabled

When plug in AC or miniUSB for charge, the charge LED is work well and no any log in dmesg command.
So, it should not related the temperature issue.

According to the wiki Power_modes, I have the following info:
cat /sys/class/power_supply/bq27500-0/charge_full => 3869000
cat /sys/class/power_supply/bq27500-0/charge_full_design => 4240000

Can anybody help on this issue ?
Thanks in advance. :)
 
Could be either a bad flash of the battery calibration... or the battery being too old :)
 
You should also try removing the battery for at least 5 minutes to reset the power management chip, that sometimes helps.

Edit: also make sure the contact to the battery is good. In thermistor pin is not properly connected, everything will work, but charging will misbehave.
 
Last edited:
Thanks for everybody's help.
This forum is very friendly, thanks !

Basically, battery percentage (%) shows on status bar.
I also noticed sometimes the log (out of temperature) is shown in dmseg command even though the contact of pint 2 clean very clear and pull it very high.

I think I need to buy new one for testing whether it is related to my openpandora classic issue or battery issue.
But currently, the battery can be charged to 85% (currently => 0%~85%, previous => 35%~75%) according to the following formula:
while True:
 os.system("plug in AC/minUSB")
 while ("charge LED" != off):
  os.system("do nothing")

 os.system("unplug AC/minUSB")
 while ("system status") != power-off:
  os.system("dd if=/dev/zero of=/dev/null")


If someone know how to charge battery forcibly, please share to me.
Thanks :)
 
I have tried to reflash many different firmwares (from Zaxxon-HF5 to 1.76).
But the results are identical.
If you have some ideas, I can try it :)
 
Okey someone has to say it because i fear you actually do what you write. And so that no other person ever tries the stuff you do.

dd if=/dev/zero of=/dev/null <- This will destroy your pandora, it will do nothing more but eating up all the cpu power and flipping single bits on and off as fast as it can.

I also gave you a link above. USE THAT TOOL.
My guess on that is that there is nothing wrong at all, its just the icon showing a wrong %.
 
I have four or five little wads of paper in my battery compartment, so that my Pandora doesn't reboot if I carry it anywhere. My thermistor pin is actually slightly broken as I pulled up too hard on it once and pulled it out of the plastic surround, so it sits proud of the power pins but I wouldn't recommend doing that.
 
I also noticed sometimes the log (out of temperature) is shown in dmseg command even though the contact of pint 2 clean very clear and pull it very high.
Well if it's not actually hot where you live, then there is really a problem with thermistor pin, either it's broken on the PCB, or something is bad with the battery. Not much can be done to solve your problem I'm afraid, except getting another battery maybe (ED still seems to sell them).

dd if=/dev/zero of=/dev/null <- This will destroy your pandora, it will do nothing more but eating up all the cpu power and flipping single bits on and off as fast as it can.
Well that's silly, that's lighter load than playing games on pandora the whole day (which is the intended use of the device).
 
That was dramatically exaggerated but practical true, let it run for 30 years straight and it breaks it.
 
I had this problem twice.
In both cases the battery was dead. It can be easy to see, one of them was inflated.
 
Hi,
Thanks for everyone's help. :)

I think notaz's comments is the right way for this issue because I tried to solder the battery with contact (in order to avoid the conact issue).
https://steward-fu.github.io/website/handheld/pandora/classic/battery.htm

And the result is same as previous.
So, it is more like this issue related to PCB issue, not battery (I guess).
I will buy new battery for testing.
But before get new battery for testing, I am studying PCB schematic.
Any comment is welcome.

But I have a question about battery charging.
The field of charge_full shows the capacity is 3869000 and the current_now isn't equal this value when charging.
Why openpandora stop to charge the battery ?

Thanks :
 
The Pandora should stop charging the battery at the configured percentage of full (charge_now/charge_full, not current_now whatever, since that value is in mA, not mAh), or if detects the battery is out of spec. There's a charge chip between the battery and anything the OS can see, so it's a bit of a black art determining what's wrong with the battery from what the charge chip is saying, assuming the charge chip et all is all functioning properly even.

FWIW, my battery has started to swell now, but it still seems to hold a decent charge. I'm hoping it will last until I can order a Pyra so I can order a spare battery at the same time (or look at a way to bridge the thermistor so I can run the Pandora off the charge port without a battery - my GHz model won't run at all without a battery).
 
Yeah current_now says how much current is going in/out of the battery at given moment (in uA).

And the charger knows nothing about charge_now/charge_full, those sit in the monitoring chip, which is separate from the charger. It stops charging after overall current drops below some threshold or on any error condition it may be perceiving (unsafe temperature in this case). There is some software that tries to to stop or reset the charger based on the data from monitoring chip (pndevmapperd daemon), but apparently there are many cases it can't handle or the charger chip is not giving in.
 
Hi levi and notaz,
Thanks for your description.

After got new battery from DragonBox shop, I can confirm this issue is related to PCB issue, not battery.
I will try to debug the PCB but since it is multi-layer, I cannot make sure whether I can find out the root cause or not.
Anyway, thanks for your help.
 
Last edited:
Finally, I find out a workaround for this issue.
How to:
Just disconnect Pin2 (between PCB and battery) and then solder a 7.5K resistant (pull-down) on PCB.
Advantage:
charging work very well as usual (can up to 90%)
you will not see any log related to "Out of temperature" even though plug-in/unplug power adapter
Drawback:
plug-in power adapter without battery will not boot up



More detail information:
even though re-solder, the log of "out of temperature" still exist
10.jpg




according to the schematics, no any pull-up resistant at ADCIN1 but the volatage is 1.6V
after attached battery, the voltage is varied from 0.6~0V (unstable), I don't know why...
15.jpg




after checked the resistant in battery, there is a pull-down 7K resistant (around 30 Centigrade) between Pin2 and GND
so, just solder a 7.5K resistant on PCB.
sorry, I only left 7.5K resistant...
17.jpg




complete
19.jpg





So, what is the root cause for this issue ?
I suspect the PCB (the schematic of thermal resistant) inside battery but I don't want to waste time to find it out because I am enjoying the game, now....
thank everybody' help :)
 
Last edited:
Interestingly the Hacker's Manual suggests fixing the sense pin (pin 2) voltage by a resistor as a way to get units to reliably boot without a battery. I'm not sure anyone ever actually tried that out though, so it's interesting to see that now you've done similar, it still won't boot without a battery.
 
Back
Top