数码之家

 找回密码
 立即注册
搜索
查看: 60649|回复: 248

[综合] 低成本解锁笔记本电池(番外篇)

    [复制链接]
发表于 2021-5-25 21:50:35 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一块正常使用的电池突然挂掉,脑子一热,也没仔细考虑是否硬件问题,想当然认为是被锁住了,于是就开始给自己挖坑了,来个低成本的解锁电池。具体情况可以查看这个帖子:尝试低成本解锁ThinkPad笔记本电池 - 拆机乐园 数码之家 (mydigit.cn)

最终的而结果是电池保护板被我弄变砖了,到最后也没能验证是否解锁。
虽然结果不理想,但几天折腾下来,还是有一些收获,就把一些过程和经验写到这里和大家分享。

首先声明我是第一次研究这个电池解锁,以前没接触过,所以我的理解和经验总结可能会有不对的地方,还请各位大神多多指教。

从我拆开电池那一刻,知道了电池使用BQ29330和BQ8030A这两个芯片,于是我的资料搜集都是围绕这2个芯片展开。
在百度很多资料后,知道了解锁是要针对8030这个芯片,要和电池通信,需要用到TI的开发软件和ev2300这个设备。然鹅我又不搞开发,只是想解锁,ev2300也很贵,不适合,继续找。
无奈TI官网没任何关于这个芯片的资料,百度得到的也多半都是付费解锁的广告信息。

不得已,Google搜索,这下资料多起来了,首先找到的是一个俄文论坛,里面讨论居多,没有什么具体操作介绍,用到的软件是BE2WORKS,使用的硬件是cp2112模块。又是一顿猛搜,找到个be2works的破解版,心想这下有戏了,立马上淘宝买了个cp2112的小板。
be2works看介绍,是支持很多芯片复位的,8030是其中之一,在2112小板到手后,才发现be2works不能在虚拟机中运行,为什么我要在虚拟机运行?还是怕病毒木马什么的。不得已,只能实体机安装,这下倒是成功了,但是破解文件无法运行,疯狂google后得知,破解文件只能在xp32下运行,我了个去。。。。。
又是一番折腾,装好xp系统,装好be2works,终于运行起来了。

软件部分搞定了,接着就是确定电池的接口定义了。这里我总结了几点:
1、搜索,看能否找到资料,有人给出定义图,当然要和自己电池一样;
2、搜索对应笔记本的主板电路图,里面会有电池接口定义;

上面2点都是在没拆电池时可以尝试的,如果拆开了电池,那最直接的就是看保护板上是否标注了定义,有就方便了,
如果还是没有,那就只能逐个去尝试了。如果接口只有5针,那挨个试也没几次,因为除去电源和地,剩下就试scd,sck和t了,如果接口针数较多,那尝试也讲究方法,这里给大家介绍个我搜索到的方法:
微信截图_20210525214811.png
微信图片_20210525214850.png
微信图片_20210525214954.png

大致意思就是:
1、先找到GND的定义,我的做法是用万用表蜂鸣档测量dc插头处的gnd和电池接口,相通的就是gnd。

2、找到gnd后,使用万用表的二极管测量档,红笔接gnd,黑笔挨个去接其他脚,如果万用表读数在500到800之间,那黑笔所接的阵脚就是sck或者scd,具体是那个还需要最后尝试确定。

确定好定义后,把小板和电池连接上,就3根线,gnd,sck和scd,前面scd和sck无法确认时,就随便接,能通信就对了,不能通信,就把sck和scd对换一下就可以了。
打开be2works,选择cp2112适配器,选择BQ8030,然后就可以读取电池信息和芯片的eeprom数据了。

正常来说,如果是be2works支持的芯片,到这里应该就搞定完事了。但我手中这个电池有硬件问题,导致我走了很多弯路,最终也没法确定是不是在软件复位后还需要手动修改什么数据去解锁。

在网上进一步搜索资料,发现了下面这篇文章:
Karosium: Hacking the bq8030 with SANYO firmware
这是个高手,呵呵,居然通过物理攻击芯片,拿到了芯片的bootrom,再反编译bootrom,进而拿到了芯片关键的定制指令和密码,最后顺利dump出来eeprom数据。
dump下来的数据总共有2048字节,文章中说前1024字节存储的是一些固定参数,在电池出场后不会改变,如果改动其中的数据,需要修改相应的校验和,否则会失败。后1024字节则是存储了一些动态的数据,比如循环次数,剩余容量等等,还有解锁关键的PF状态信息。说是映射好数据地址后,那些无法映射地址的数据可以随意改动不碍事。
不过我认为可能这个只对他研究的那个芯片是对的,我就是相信了这篇文章,对后1024字节数据做了改动,写进芯片后就变砖啦。。。。。。当然,我没有去做数据的地址映射,我瞎改的,就是尝试下。

回到文章中总结的关键信息:
1. Send 0x0214 to 0x71
2. Read Word X from 0x73
3. Send (0x10000 - X) to 0x71
4. Send 0x0517 to 0x70
也就是关键指令和密码,于是我用逻辑仪看了下be2works发送的指令,和文中的做了下比较:
微信截图_20210525221308.png

第一步:发送0214到71,
微信截图_20210525221411.png

第二步,从73读取读取一个数据04e4
微信截图_20210525221442.png

第三步,发送数据fb1c到71
微信截图_20210525221333.png

后面就和文中介绍的不一样了,没有后续的70指令了
看来我这个电池的8030和那个大神的8030还是有点不一样的,或者说8030的bootrom有些不一样吧。


再继续,又搜索到了另外个工具,一个开源项目:
GitHub - laszlodaniel/SmartBatteryHack: Arduino compatible hacking tool for smart batteries using SMBus.
上面是项目地址,项目里面有个软件,也可以拿来方便使用。
项目基于Arduino平台,因此使用这个工具,只需要Arduino硬件,不需要cp2112小板子。

贴两个软件的截图:
68747470733a2f2f626f756e64617279636f6e646974696f6e686f6d652e66696c65732e776f7264.png
68747470733a2f2f626f756e64617279636f6e646974696f6e686f6d652e66696c65732e776f7264.png

项目是在我的电池变砖后搜到的,我就没机会去试用这个软件了,不做评价。

就这样吧,我能想到的就这些,总结下:
1、确定电池硬件方面没问题,排除硬件问题,电池不能用,那就大概率是锁了,需要解锁,否则就需要维修后再看是否需要解锁。
2、首选be2works+cp2112的组合,这个操作简单,支持的芯片多,但是否有效没能验证,有条件的坛友自行测试验证。
3、有arduino的则优选这个开源项目,无需再添置额外硬件,只是需要手动操作,还有就是需要知道指令和密码,对付常规有资料的芯片有效,无资料的芯片就不好办了。
4、自己单片机编程通信,自己写上位机,这个和开源项目类似,也只能搞有资料的芯片。

在电池没硬件故障的前提下,解锁电池,主要是修改循环次数,剩余容量,还有就是清除错误标志位。就可以了。
换了电芯后,如果要用的好,就还需要做矫正,这个不在这里讨论。原则上来说,如果换的电芯和原来的不一样,那固件中的一些参数就会不适合,导致电池并不在理想状态,这个就需要做更多的工作来确定更新相关参数,没涉及过,不会,不讨论。这里只单纯的涉及到解锁。

我把当中的软件都放上来,方便大家下载:
1、BE2Works_v4.52_Bohol_fu11-pw_radiokot.rar 解压密码就是radiokot,破解只能运行在WinXP sp3 32位系统下
2、SmartBatteryHack-master.zip 开源项目源码
3、SBW_Demo.zip  SBWorkshop 3.71 demo版本,没找到正式版或者破解版,因为这个需要用到并口,我笔记本没有,所以这个软件我没使用过。


32楼坛友更新Q8030A+BQ29330固件下载

如果你有好的建议和想法,告诉我,或者有不需要的电池保护板,也可以给我折腾。折腾万岁!
祝大家玩的开心。


BE2Works_v4.52_Bohol_fu11-pw_radiokot.rar

10.6 MB, 下载次数: 1391, 下载积分: 家元 -55

售价: 10 家元  [记录]

SBW_Demo.zip

1.94 MB, 下载次数: 143, 下载积分: 家元 -55

SmartBatteryHack-master.part1.rar

15 MB, 下载次数: 563, 下载积分: 家元 -55

SmartBatteryHack-master.part2.rar

8.72 MB, 下载次数: 145, 下载积分: 家元 -55

打赏

参与人数 7家元 +146 收起 理由
hucode + 20 優秀文章
uuer + 20
vicdoo + 20 優秀文章
maidoo + 8 優秀文章
abigbell + 20
北斗 + 50 優秀文章
cutter + 8

查看全部打赏

发表于 2021-5-25 22:46:11 | 显示全部楼层
MARK                                 
回复 支持 反对

使用道具 举报

发表于 2021-5-25 22:47:44 来自手机浏览器 | 显示全部楼层
能和本本通信,原理上不应能通过本机修改或刷!最近研究bq9003
回复 支持 反对

使用道具 举报

发表于 2021-5-25 23:03:25 | 显示全部楼层
有个戴尔很久没用,一组电池0v锁死了,bq芯片型号忘了,ti找不到,谷歌找不到,必应找不到,只有几个人提问,找不到资料,放弃了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-25 23:16:58 | 显示全部楼层
wangbin4316 发表于 2021-5-25 22:47
能和本本通信,原理上不应能通过本机修改或刷!最近研究bq9003

能通信是前提条件,关键还要知道指令和密码才能修改,一般情况下,芯片都处于锁定状态,不能随意修改,这里说的锁定不是指锁电池
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-5-25 23:22:23 | 显示全部楼层
飞向狙沙 发表于 2021-5-25 23:03
有个戴尔很久没用,一组电池0v锁死了,bq芯片型号忘了,ti找不到,谷歌找不到,必应找不到,只有几个人提问 ...

可以试试文中的那些软件
回复 支持 反对

使用道具 举报

发表于 2021-5-26 09:09:15 | 显示全部楼层
w510 电池,充放电次数非常少,放在机器里,莫名其妙就不行了,拆出来是锁死了,电池测量了一遍都没事,唉,现在扔着,笔记本用适配器工作!:dizzy:
先留名,真有空了再试一试!
回复 支持 反对

使用道具 举报

发表于 2021-5-26 09:31:18 | 显示全部楼层
楼主威武,必须赞一个。
回复 支持 反对

使用道具 举报

发表于 2021-5-26 12:04:07 来自手机浏览器 | 显示全部楼层
turkey99 发表于 2021-5-25 23:16
能通信是前提条件,关键还要知道指令和密码才能修改,一般情况下,芯片都处于锁定状态,不能随意修改,这 ...

要密码的,机器能通信,不知和2300,2400有何区别
回复 支持 反对

使用道具 举报

发表于 2021-5-26 13:28:40 | 显示全部楼层
看来想折腾就要买2300或2400了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-26 15:48:41 | 显示全部楼层
wangbin4316 发表于 2021-5-26 12:04
要密码的,机器能通信,不知和2300,2400有何区别

文中我已经说了呀,be2works支持的芯片,它都有密码呀,只是我们不知道而已,人家好歹也是个卖钱的软件,要是不能干活,能卖嘛。。。。
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2021-5-26 15:51:35 | 显示全部楼层
dzztom 发表于 2021-5-26 13:28
看来想折腾就要买2300或2400了

2300或者2400也一样啊,只是适配原厂程序的适配器而已,TI原厂程序也没有那些未公开的密码吧,只是个开发工具而已。电池原厂程序才有可能带密码,不管啥适配器,和电池通信他就是smbus协议,不同的是和上位机通信的协议
回复 支持 2 反对 0

使用道具 举报

发表于 2021-5-28 14:06:11 | 显示全部楼层
很繁琐的过程,不过还是支持技术贴
回复 支持 反对

使用道具 举报

发表于 2021-5-28 21:13:23 | 显示全部楼层
楼主牛逼,佩服
回复 支持 反对

使用道具 举报

发表于 2021-6-4 09:28:58 | 显示全部楼层
学习型人才,厉害
回复 支持 反对

使用道具 举报

发表于 2021-6-8 16:59:52 | 显示全部楼层

首拆T420电池拆解

讲道理联想现在已经不用bq的双芯片方案了,而是一个单芯片方案,看引脚应该是bq的方案,但是联想磨了字,打了个51F51上去,搜不到任何资料
楼主要不要交流下?:lol:

(我自己拆的)

T420的电池一直保养的不错,2011年产LGC电芯到现在只损耗了13%,结果上星期有一天停电,把电池用干后再充满直接损耗35%,心痛!(为什么会这样 cry.gif )于是萌生了换电芯的想法,无奈找不到任何T420电池的拆解,于是蹲咸鱼收了一块12年产LGC电芯94.6%损耗的电池来练下手,经验证是正品电池,也无故障,就是损耗惨不忍睹,现附上90%无损开壳的方法。
先看一下电池的情况,70+,说起来我原机的是55+,但是参数都一样,10.8V 5.2Ah 57Wh
153328am9vnkykmoymyfnm.png.thumb.jpg
先用美工刀或者裁纸刀从后边的缝隙插入到底,然后左右划开内部的点胶。
161248ae5epbs7pzt7prrw.jpg.thumb.jpg
划开点胶后可用双手捂住电池扭动,使内部的超声焊料松动,期间电池会一直咔咔响,当几乎听不到咔咔声的时候就可以停止扭动了。
·
·
接着在侧面这里用一字改锥用力翘,听到“咔”的一声就算撬开了。然后同样的方法撬开另一侧边。
161301hc57w6x0yfhc78hg.jpg.thumb.jpg
这时电池的后部就打开了,现在可以像掀螃蟹壳掀起电池外壳,前面的部分也是用超声焊住的,可以大力出奇迹直接掰开,也可以用巧劲慢慢掰。我是直接大力出奇迹了。
·
·
由于大力出奇迹后前面的卡扣多数歪斜,不过这些卡口不影响固定,我就把他们都削掉了
161852ggakigy0kbgmm96m.jpg.thumb.jpg
·
·
电池打开的样子
162001n40ncaca4r6pfca1.jpg.thumb.jpg
162008ay1yczcyhrziyxwq.jpg.thumb.jpg
·
·
电池底部用了双面胶固定,用塑料撬棒即可翘出。
162120w03zloz90obuuul8.jpg.thumb.jpg
·
·
接下来看一下保护板
162209fkmp5s3lqlgcxlkr.jpg.thumb.jpg
image.jpg
162212zbkccab3cr9rokbs.jpg.thumb.jpg
162215buyj2yjyad8a1fjp.jpg.thumb.jpg
162657s8umbc4usgqnsmfm.jpg.thumb.jpg


拍照设备不给力,我手动写一下芯片的编号
IC1 1M3T 1YCB 51F51
IC3 Q5E B4 062
IC4  CP 2L07 1215
F1  12AH3 SC SF N2E 3272
正面右下角2个芯片  7422E BV2K1X

暂时先这样吧,研究下这些芯片
拍照设备iPad Pro 9.7
回复 支持 反对

使用道具 举报

发表于 2021-6-9 09:42:47 | 显示全部楼层
:lol:牛人。。。说到理想状态。。我就想到。好多保护板的设计就是有问题的。。同一个电池几乎都是同一节电压低于别的。。。。是不是保护板早就为你的电池寿命做好安排了!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-6-9 14:36:16 | 显示全部楼层
ckh911 发表于 2021-6-9 09:42
牛人。。。说到理想状态。。我就想到。好多保护板的设计就是有问题的。。同一个电池几乎都是同一节电 ...

正常来说,保护板检测到整个或者单个电芯电压不正常啥的,保护是应该的,但保护后,用户无法自行方便的回复就有点无耻了。很多都是压根就没资料可查,只有原厂能搞
回复 支持 1 反对 0

使用道具 举报

发表于 2021-6-9 21:18:24 | 显示全部楼层
很多笔记本电脑的保护板上有个特殊的保险丝,当电池异常时,主控会发指令让这个保险丝烧断
这样,这个电池就没法软件解锁了,因为即便软件解锁了,电路也不通。
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2021-6-10 08:57:21 | 显示全部楼层
2n3055 发表于 2021-6-9 21:18
很多笔记本电脑的保护板上有个特殊的保险丝,当电池异常时,主控会发指令让这个保险丝烧断
这样,这个电池 ...

第一步就是检查这个保险丝了。。。。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 18:14 , Processed in 0.218400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表