Jump to content

Talk:Battery firmware lockout: Difference between revisions

From Consumer Rights Wiki
Charlie 6 (talk | contribs)
Charlie 6 (talk | contribs)
No edit summary
Line 19: Line 19:
Conclusion first, in case technical details are too long to read.
Conclusion first, in case technical details are too long to read.


== Conclusion ==
=== Conclusion ===


=== Non malicious ===  
==== Non malicious ====
Low voltage cutout(according to the specification): Disable discharging when the voltage is too low or the battery is too unbalanced. If the voltage is too low (<2.5V) wear will increase and performance will degrade faster, but the battery is still safe to use.  
Low voltage cutout(according to the specification): Disable discharging when the voltage is too low or the battery is too unbalanced. If the voltage is too low (<2.5V) wear will increase and performance will degrade faster, but the battery is still safe to use.  


Unsafe voltage cutout: Disable charging if the voltage is way too low (<1.5V), as chemical decomposition could occur causing the battery to be less safe (can be tested, see reconditioning section).  
Unsafe voltage cutout: Disable charging if the voltage is way too low (<1.5V), as chemical decomposition could occur causing the battery to be less safe (can be tested, see reconditioning section).  


=== Malicious ===
==== Malicious ====
"Fragile ego": The disable voltage is way higher than the overdischarged unsafe voltage, wasting good batteries.
"Fragile ego": The disable voltage is way higher than the overdischarged unsafe voltage, wasting good batteries.


Line 35: Line 35:
Timer: Brick after X days or discharge cycles regardless of battery health, which is planned obsolescence.
Timer: Brick after X days or discharge cycles regardless of battery health, which is planned obsolescence.


== Reconditioning ==
=== Reconditioning ===
The voltages written in this section are a '''open circuit voltage''' i.e the measured voltage when neither charging nor discharging. This is only a general guideline, the actual voltage may be higher or lower depends on the battery chemistry.
The voltages written in this section are a '''open circuit voltage''' i.e the measured voltage when neither charging nor discharging. This is only a general guideline, the actual voltage may be higher or lower depends on the battery chemistry.


=== Disclaimer ===
==== Disclaimer ====
Troubleshooting Li-ion batteries can be dangerous, this section is for informational purposes only. You are responsible for your own safety. Always wear appropriate protection and consult the specification of the equipment carefully.
Troubleshooting Li-ion batteries can be dangerous, this section is for informational purposes only. You are responsible for your own safety. Always wear appropriate protection and consult the specification of the equipment carefully.


=== 2.5V or above ===
==== 2.5V or above ====
charge normally.
charge normally.


=== 2.0V<voltage<2.5V ===
==== 2.0V<voltage<2.5V ====
Charge slowly (<0.1C), resume normal charging speed above 3.0V, then do a charge/discharge cycle normally and measure the capacity, if normal continue to use, if lower replace it with a matched sell or put this cell to another pack with worn cells to match them.
Charge slowly (<0.1C), resume normal charging speed above 3.0V, then do a charge/discharge cycle normally and measure the capacity, if normal continue to use, if lower replace it with a matched sell or put this cell to another pack with worn cells to match them.


=== 1.0V<voltage<2.0V ===
==== 1.0V<voltage<2.0V ====
Charge very slowly (<0.05C). Observe the voltage and temperature carefully. If voltage fails to rise or temperature rises rapidly, chemical decomposition has occurred, do not use. When the voltage reaches nominal (around 3.7V), stop charging and wait for several hours, if the voltage is gone do not use, if not, proceed to normal charging. Do a charge/discharge cycle normally and measure the capacity. If capacity is way lower or internal resistance is way higher than before, do not use.
Charge very slowly (<0.05C). Observe the voltage and temperature carefully. If voltage fails to rise or temperature rises rapidly, chemical decomposition has occurred, do not use. When the voltage reaches nominal (around 3.7V), stop charging and wait for several hours, if the voltage is gone do not use, if not, proceed to normal charging. Do a charge/discharge cycle normally and measure the capacity. If capacity is way lower or internal resistance is way higher than before, do not use.


=== <1.0V ===
==== <1.0V ====
Replace the cells. It may be possible to revive it, but massive performance loss and additional safety risk is almost guaranteed. Don't even bother.
Replace the cells. It may be possible to revive it, but massive performance loss and additional safety risk is almost guaranteed. Don't even bother.


=== Unbalanced ===
==== Unbalanced ====
Charge the lower(est) cell(s) to the voltage of other cells and perform a cycle. Observe the voltage of each cell, replace the ones with much higher/lower during charging/discharging.
Charge the lower(est) cell(s) to the voltage of other cells and perform a cycle. Observe the voltage of each cell, replace the ones with much higher/lower during charging/discharging.


== Interpreting the specifications ==
=== Interpreting the specifications ===
There are many values (voltage, current, temperature) on the datasheet of the battery cells and the packs that are made of these cells. For discussing firmware lockout, we mostly focus on two values: discharge cut-off voltage and safety cutout voltage.
There are many values (voltage, current, temperature) on the datasheet of the battery cells and the packs that are made of these cells. For discussing firmware lockout, we mostly focus on two values: discharge cut-off voltage and safety cutout voltage.


=== Discharge cut-off voltage ===
==== Discharge cut-off voltage ====
This voltage is a '''loaded voltage''' i.e measured during discharging. It is when the current should be turned off during discharging. Since batteries have internal resistance, this voltage is not the "0% charge" voltage. Assume discharging to 2.5V, the voltage will climb to 3.0V or even 3.3V after removing the current.
This voltage is a '''loaded voltage''' i.e measured during discharging. It is when the current should be turned off during discharging. Since batteries have internal resistance, this voltage is not the "0% charge" voltage. Assume discharging to 2.5V, the voltage will climb to 3.0V or even 3.3V after removing the current.


Line 66: Line 66:
Discharging to a higher voltage doesn't use up the full capacity of the battery but the actual life will increase. Discharging to a lower voltage gives very little gain at the cost of significant wear. Thus, the discharge cut-off voltage specification is determined with a balance of cycle life and discharge capacity.
Discharging to a higher voltage doesn't use up the full capacity of the battery but the actual life will increase. Discharging to a lower voltage gives very little gain at the cost of significant wear. Thus, the discharge cut-off voltage specification is determined with a balance of cycle life and discharge capacity.


=== Safety cutout voltage ===
==== Safety cutout voltage ====
Commonly referred as "Do not charge" voltage, this voltage is where chemical decomposition occurs and it's no longer safe to charge due to elevated risks.  
Commonly referred as "Do not charge" voltage, this voltage is where chemical decomposition occurs and it's no longer safe to charge due to elevated risks.  


Line 75: Line 75:
A common "self destructive design" is to program the BMS "Permanent Fail" low voltage to way higher than the battery's safety cutout voltage. If the voltage is set to as high as the discharge cut-off voltage, the battery may brick itself if a large instantaneous load is applied(common on power tools) while the battery is at low charge.
A common "self destructive design" is to program the BMS "Permanent Fail" low voltage to way higher than the battery's safety cutout voltage. If the voltage is set to as high as the discharge cut-off voltage, the battery may brick itself if a large instantaneous load is applied(common on power tools) while the battery is at low charge.


=== Zero voltage ===
==== Zero voltage ====
If the battery pack is discharged even momentarily after one cell has reached zero voltage, internal short circuit will occur within that cell due to reverse polarity. The cell will be destroyed immediately and permanently, without any chance of recovery.
If the battery pack is discharged even momentarily after one cell has reached zero voltage, internal short circuit will occur within that cell due to reverse polarity. The cell will be destroyed immediately and permanently, without any chance of recovery.


== Sources ==
=== Sources ===
[https://lygte-info.dk/info/BatteryLowVoltage%20UK.html How far can LiIon be discharged?] Written by Henrik K. Jensen, an independent battery reviewer. This is more of a theoretical analysis and explanation about the theories behind them, using technical handbooks as the sources.
[https://lygte-info.dk/info/BatteryLowVoltage%20UK.html How far can LiIon be discharged?] Written by Henrik K. Jensen, an independent battery reviewer. This is more of a theoretical analysis and explanation about the theories behind them, using technical handbooks as the sources.


[https://badar.tech/2025/08/24/ryobi-battery-repair-guide/ Ryobi Battery Repair Guide]. Written by Badar Jahangir Kayani, an electrical engineer. This is more of a practical take of reconditioning "bricked" battery packs. He consider <1V per cell (<5V per pack) as deep discharged and not safe to use. Despite that, he managed to recover them (for testing, not for actual usage). According to "Gathering Data" section of his video, the Permanent Firmware Lockout occurs at a voltage as high as 2.82V, way higher than the safety cutout voltage and may be even higher than discharge cut-off voltage. It's a solid evidence that Ryobi did the malicious "fragile ego" on their BMS.
[https://badar.tech/2025/08/24/ryobi-battery-repair-guide/ Ryobi Battery Repair Guide]. Written by Badar Jahangir Kayani, an electrical engineer. This is more of a practical take of reconditioning "bricked" battery packs. He consider <1V per cell (<5V per pack) as deep discharged and not safe to use. Despite that, he managed to recover them (for testing, not for actual usage). According to "Gathering Data" section of his video, the Permanent Firmware Lockout occurs at a voltage as high as 2.82V, way higher than the safety cutout voltage and may be even higher than discharge cut-off voltage. It's a solid evidence that Ryobi did the malicious "fragile ego" on their BMS.


== Comments ==
=== Comments ===


=== Why focusing on discharge voltage? ===
==== Why focusing on discharge voltage? ====
Because partial knowledge can be as misleading as zero knowledge.
Because partial knowledge can be as misleading as zero knowledge.



Revision as of 17:14, 17 September 2025

On Texas Instruments BQ-series BMS

This type of BMSes is the most common type used on laptop computers.

Unlike the BMS in power tools that you can dump the firmware, the Texas Instruments BQ series BMS has something like "a chip within a chip", similar to Intel Management Engine or fTPM.

I learned from some friends who worked with power electronics. The BQ series needs password to access the internal memory. Unfortunately, the "Permanent Fail" is gated the same "height" of the "wall" as flashing firmware. If you know the password you can read and even write (both official and custom) firmware, if you don't know the password you can't even clear the PF error code.

The BMS sends the battery's current status like the voltage, current, temperature, cycle count and the limitations like charge max voltage/current, discharge min voltage/max current, etc, to the device. It's know that some computer models use different battery packs, the EC supplies the correct voltage and current to the battery because the BMS tells these values to the EC. These messages are not encrypted and are read by embedded controller (EC) on the computer's motherboard.

Thus, we can technically build our own FOSS BMS using the same way of communication with the EC, without any "lockout" logic, or we can just buy a BQ chip from TI, use the official firmware but without setting a custom password. If the "community driven" custom BMS gains traction and reaches mass production, we can solve the "battery firmware lockout" once and for all.

The reason why few people talk about it, I think, is the "baseline" reliability difference. The reliability of a product depends on the least reliable part, so laptop batteries have to be very reliable. As a result, they don't fail randomly. Given the high quality standard, non-OEM battery manufacturers and independent repair technicians can rarely reach the reliability standard of the original ones. Therefore there's low incentive for those people to find a reliable way of unbricking the BMS. Charlie 6 (talk) 13:13, 17 September 2025 (UTC)Reply

On Battery Safety and the Justification of Lockout

There are many online misinformation about the safety of Li-ion batteries, both in discussion threads and video comments. Some of these comments are trying to justify the lockout by saying the exaggerated values/criteria, such as saying it's not safe to charge below 2.5V to 2.8V when the actual values are between 1.5V to 2.0V.

Conclusion first, in case technical details are too long to read.

Conclusion

Non malicious

Low voltage cutout(according to the specification): Disable discharging when the voltage is too low or the battery is too unbalanced. If the voltage is too low (<2.5V) wear will increase and performance will degrade faster, but the battery is still safe to use.

Unsafe voltage cutout: Disable charging if the voltage is way too low (<1.5V), as chemical decomposition could occur causing the battery to be less safe (can be tested, see reconditioning section).

Malicious

"Fragile ego": The disable voltage is way higher than the overdischarged unsafe voltage, wasting good batteries.

No balancing circuit: Faster degradation.

Password: preventing reconditioning/refurbishment.

Timer: Brick after X days or discharge cycles regardless of battery health, which is planned obsolescence.

Reconditioning

The voltages written in this section are a open circuit voltage i.e the measured voltage when neither charging nor discharging. This is only a general guideline, the actual voltage may be higher or lower depends on the battery chemistry.

Disclaimer

Troubleshooting Li-ion batteries can be dangerous, this section is for informational purposes only. You are responsible for your own safety. Always wear appropriate protection and consult the specification of the equipment carefully.

2.5V or above

charge normally.

2.0V<voltage<2.5V

Charge slowly (<0.1C), resume normal charging speed above 3.0V, then do a charge/discharge cycle normally and measure the capacity, if normal continue to use, if lower replace it with a matched sell or put this cell to another pack with worn cells to match them.

1.0V<voltage<2.0V

Charge very slowly (<0.05C). Observe the voltage and temperature carefully. If voltage fails to rise or temperature rises rapidly, chemical decomposition has occurred, do not use. When the voltage reaches nominal (around 3.7V), stop charging and wait for several hours, if the voltage is gone do not use, if not, proceed to normal charging. Do a charge/discharge cycle normally and measure the capacity. If capacity is way lower or internal resistance is way higher than before, do not use.

<1.0V

Replace the cells. It may be possible to revive it, but massive performance loss and additional safety risk is almost guaranteed. Don't even bother.

Unbalanced

Charge the lower(est) cell(s) to the voltage of other cells and perform a cycle. Observe the voltage of each cell, replace the ones with much higher/lower during charging/discharging.

Interpreting the specifications

There are many values (voltage, current, temperature) on the datasheet of the battery cells and the packs that are made of these cells. For discussing firmware lockout, we mostly focus on two values: discharge cut-off voltage and safety cutout voltage.

Discharge cut-off voltage

This voltage is a loaded voltage i.e measured during discharging. It is when the current should be turned off during discharging. Since batteries have internal resistance, this voltage is not the "0% charge" voltage. Assume discharging to 2.5V, the voltage will climb to 3.0V or even 3.3V after removing the current.

The discharge cut-off voltage is highly related to cycle life. The battery's rated cycle life is measured by charging and discharging repeatedly at predetermined voltage, current and temperature.

Discharging to a higher voltage doesn't use up the full capacity of the battery but the actual life will increase. Discharging to a lower voltage gives very little gain at the cost of significant wear. Thus, the discharge cut-off voltage specification is determined with a balance of cycle life and discharge capacity.

Safety cutout voltage

Commonly referred as "Do not charge" voltage, this voltage is where chemical decomposition occurs and it's no longer safe to charge due to elevated risks.

This is an open circuit voltage. If you somehow discharge the battery to this voltage but it bounced back to above discharge cut-off voltage after switching off the device, it's still safe to use, but don't do this intentionally, the gain is not worth the cost. If it bounces back to between these two voltages, see below.

The voltage between the safety cutout voltage and discharge cut-off voltage is the "pre-charge" range, where a very low charging current is applied to safely bring the battery pack back to normal.

A common "self destructive design" is to program the BMS "Permanent Fail" low voltage to way higher than the battery's safety cutout voltage. If the voltage is set to as high as the discharge cut-off voltage, the battery may brick itself if a large instantaneous load is applied(common on power tools) while the battery is at low charge.

Zero voltage

If the battery pack is discharged even momentarily after one cell has reached zero voltage, internal short circuit will occur within that cell due to reverse polarity. The cell will be destroyed immediately and permanently, without any chance of recovery.

Sources

How far can LiIon be discharged? Written by Henrik K. Jensen, an independent battery reviewer. This is more of a theoretical analysis and explanation about the theories behind them, using technical handbooks as the sources.

Ryobi Battery Repair Guide. Written by Badar Jahangir Kayani, an electrical engineer. This is more of a practical take of reconditioning "bricked" battery packs. He consider <1V per cell (<5V per pack) as deep discharged and not safe to use. Despite that, he managed to recover them (for testing, not for actual usage). According to "Gathering Data" section of his video, the Permanent Firmware Lockout occurs at a voltage as high as 2.82V, way higher than the safety cutout voltage and may be even higher than discharge cut-off voltage. It's a solid evidence that Ryobi did the malicious "fragile ego" on their BMS.

Comments

Why focusing on discharge voltage?

Because partial knowledge can be as misleading as zero knowledge.

When a li-ion battery is deeply overcharged, safety risk is imminent as the excessive energy has to go somewhere immediately. When it's deeply overdischarged, the safety risk is lower since there's little, if any, energy in the battery. That's the reason the unsafe high voltage is only slightly higher than the maximum charge voltage but the unsafe low voltage is significantly lower than the minimum discharge voltage. Misinformed users are sometimes convinced that overdischarging is as dangerous as overcharging.

The difference between discharge cut-off voltage safety cutout voltage must be explained clearly. Some people confuse these two and justifying cutting off charging when the voltage is at or only slightly blow the discharge cut-off voltage. This is made worse by anti-consumer manufacturers "stirring the water". Charlie 6 (talk) 17:11, 17 September 2025 (UTC)Reply