Acer V5-121 does not detect battery, doesn't charge ,compatible battery issues Part-2
Posted: Thu Dec 01, 2016 8:07 am
Here goes the second part.
Acer V5-121 does not detect battery, doesn't charge. Interesting case showing how to deal with compatible battery issues
[hidden]Knowing that Acer restricts the battery to certain models only, it is logical to think that this is done through BIOS.
The battery I ordered had model number printed AL12B32, and this is the same model specification for V5-121, then why this battery is not recognized. I quickly recognised that there are tons of compatible batteries from Chinese factories, hence the actual battery model that is communicated by battery may be different.
Next, I opened BIOS in HXD and searched for string "AL12B32" and surprised to see that this model number along with several others are shown in BIOS. A little bit of disassembly knowledge of BIOS helped me to understand that this is some kind of lookup table, so EC reads battery model and then decides to set charging parameters.
So what if we have different battery that is not listed in BIOS? No doubt, it will never detect battery, though it's good.
Now, it was the time to take out big guns (I mean my oscilloscope) and listen to communication on SMBUS lines between battery and EC. Hours of reading the SMBUS specification and SBS commands, I was prepared to decode the 1's and 0's. Next I set my scope of single shot mode and captured all the bits of communication on SMBUS. The very first command exchanged was "Device Name'.
The device name battery communicated was AL12X32. This model belongs to 6 cell battery and was not present in the BIOS. Perhaps the Chinese are putting wrong labels on battery, so this mismatch is present. Beware of this guys, this results in frustration and wasted time on unnecessary troubleshooting.
Now the solution part. Carefully examining the lookup table, it had various battery model numbers. The close specification model of 6 cell 10.8V 4400 mah battery was AS07A41, which was similar to AL12X32. So I decided to replace this string " AS07A41" in BIOS to "AL12X32" and flashed this modded BIOS to the machine.
And voilla!! Problem solved, battery is detected and charging normally..
I hope this will help many of you.
Let me know if you are interested in looking at SMBUS waveforms and how to decode them, I saved scope screenshots for this purpose.Click Here Part-1.[/hidden]
Acer V5-121 does not detect battery, doesn't charge. Interesting case showing how to deal with compatible battery issues
[hidden]Knowing that Acer restricts the battery to certain models only, it is logical to think that this is done through BIOS.
The battery I ordered had model number printed AL12B32, and this is the same model specification for V5-121, then why this battery is not recognized. I quickly recognised that there are tons of compatible batteries from Chinese factories, hence the actual battery model that is communicated by battery may be different.
Next, I opened BIOS in HXD and searched for string "AL12B32" and surprised to see that this model number along with several others are shown in BIOS. A little bit of disassembly knowledge of BIOS helped me to understand that this is some kind of lookup table, so EC reads battery model and then decides to set charging parameters.
So what if we have different battery that is not listed in BIOS? No doubt, it will never detect battery, though it's good.
Now, it was the time to take out big guns (I mean my oscilloscope) and listen to communication on SMBUS lines between battery and EC. Hours of reading the SMBUS specification and SBS commands, I was prepared to decode the 1's and 0's. Next I set my scope of single shot mode and captured all the bits of communication on SMBUS. The very first command exchanged was "Device Name'.
The device name battery communicated was AL12X32. This model belongs to 6 cell battery and was not present in the BIOS. Perhaps the Chinese are putting wrong labels on battery, so this mismatch is present. Beware of this guys, this results in frustration and wasted time on unnecessary troubleshooting.
Now the solution part. Carefully examining the lookup table, it had various battery model numbers. The close specification model of 6 cell 10.8V 4400 mah battery was AS07A41, which was similar to AL12X32. So I decided to replace this string " AS07A41" in BIOS to "AL12X32" and flashed this modded BIOS to the machine.
And voilla!! Problem solved, battery is detected and charging normally..
I hope this will help many of you.
Let me know if you are interested in looking at SMBUS waveforms and how to decode them, I saved scope screenshots for this purpose.Click Here Part-1.[/hidden]