There has been a lot of confusion regarding some battery issues that arose after flashing the ICS port from kallt_kaffee so I thought I'd make this post to have it easily findable instead of buried inside one of the threads.
First of all: YOUR BATTERY IS NOT BROKEN! RELAX!
Now, lets get into what causes the problem:
There is a chip in our tabs that measures the voltage and then reports to the OS.
This chip has to be calibrated properly and for some reason the ICS port discalibrated it.
To recalibrate it, it needs to take two voltage measurements to once again gauge the battery correctly.
For in depth explanation read HERE
There is a way of reading the voltage of our tab, which is the only way to correctly show the charge.
Either use terminal emulator on the tab then its:
or use adb (also works from recovery)
adb shell cat /sys/class/power_supply/battery/voltage_now
This will give you a number which is the current voltage of the battery.
Fully charged its around 4100 completely drained around 3400!
If your OS reports low battery and the charge reads 4000 or 3900 or some other high number you definately need to recalibrate!
Here is how you get it calibrated again:
1. in CWM/recovery let it sit till battery in terminal will show less then 3700. The less you can get it the better. 3400 is probably absolute minimum.
2. shut down tab and let it sit for 1 hour. (this is needed for the first measurement)
3. plug it to charger and charge it for 5 hours.
4. disconnected charger and let it sit for 1 hour. (this is needed for the second measurement)
5. boot up your tab and test it, it your battery still not calibrated you can flash back your backup and repeat calibration procedure.
Don't take any shortcuts! Let it sit for the hour while switched off! This is vital for the recalibration!
After completing this my tab now correctly shows 100% charge and looks to have normal discharge once again.