I’ve replaced cells in my fake battery a few days ago, and while recalibrating the bms I noticed what looked like it trying to overcharge the cells – the voltage went up to above 12.6v and stabilized at around 12.9 (which amounts to ~4.3v per cell and is 0.1v above what cell manufacturers generally recommend). Idk if that’s the intended behavior or clone manufacturers trying to shorten the lifetime of said batteries, so if the owners with genuine batteries can provide that info, I’d really appreciate it.
On linux, you can check this with cat /sys/class/power_supply/BAT*/voltage_now
(as your usual user, those files are world-readable); not sure about windows, tho.
I cheated a bit: I had 2 dead batteries, one 72wh with a locked bms and a 22wh with one of the batteries dead, so I just soldered the batteries from the 1st one to the bms from the 2nd one leaving the factory welding in place. *Also, before disconnecting the original batteries I soldered another fully charged battery in parallel in order not to lock the bms, which may’ve been unnecessary given it didn’t lock with one of the original packs showing 0v, but better safe than sorry.
As for soldering the cells, it’s generally not advised, but is kinda ok if you’re fast enough and have good flux. The trick is not to overheat the batteries, and that’s it.
Also, I wrote a small calibration script (which is a fancy word for charging and discharging the battery a few times to let the bms know the cells have changed; mb helpful if you decide to give it a try (also there’s
tlp recalibrate
, but I wanted to try amber out, so here we go :D)oh that’s so cool, thanks.
I think I’ll need to flash the stock firmware for the calibration, so I’ll leave it for now
So, yours is core/librebooted? If it happens to be **30 series, there’s also a better solution out there: https://github.com/noolex/lenovo_battery_repair
Oh my god thank you, that’s amazing. I had no idea you could use i2c with the vga port.
Also, I run the t430 with Coreboot, but does this solution only work on 30 series?
I guess so, but you should check which controller is used on your bms. This guide targets
bq8030
, as mentioned in the readmeEdit: also, my bad: it looks like the guide doesn’t show how to change the battery capacity, so recalibration is also necessary (alternatively, you can look for the values reported by
/sys/class/power_supply/BAT*/energy_full{,design}
in the dumped firmware and change them. However, the script is useful if your bms locked itself (in this case replacing/shorting the fuse might also be necessary, as some bms-es try to blow it when locking)