Question: I have a Samsung Captivate (Galaxy S). I recently returned to stock firmware (2.1) using ODIN 1-click and have been trying to do the standard update to 2.2 from AT&T.

The download goes pretty quickly until it reaches 99%. At that point it is just stuck (I've waited about 20 minutes so far). I have tried to hit cancel and then resume. This just restarts my phone, goes to a white screen with an update bar, and hits 50% before the update fails and it boots normally.

What could be wrong and how can I get the standard OTA update to work?

Answer: 
I have noticed that when I connect my phone with high voltage socket for charging it always shows charging percentage, but when I use a low voltage socket(using extension box, spike or similar things) it shows only "charging".
Open the Phone app. Tap the number `*#*#4636#*#*` Before you can hit Dial, a screen with some info will pop up, including an option for Battery Info. Tap that and it will list.

source: Droid Incredible