2690173248 发表于 2025-10-26 15:59

【原创】日志 - 全网首篇 hack LGC 固件 瑞萨M37512-FC035电池芯片的资料

本帖最后由 2690173248 于 2025-10-26 16:04 编辑

这篇文章主要为折腾电池板,换芯本身我会在另一个帖子里面细讲
我手上有个X200 六芯电池的空壳,LG的,42T4648,之前为了偷摸带几个三星18650电芯上飞机用过的

拆开发现,芯片为三菱/瑞萨 M37512 FC035。FC035为LG固件版,FC200是松下固件
我本来板子没锁的,所以我直接上了六个特价21年库存LG MH1。上了发现,LG固件太笨,满电容量不会自己改!
只好再次拆开电池,拆下电池板来研究,结果拆下电池板的时候,正极焊锡藕断丝连没有完全断开,中间有个镍条焊锡扑了,当场烧毁芯片!

我发现,M37512的内容现在本来就很少,而且市场上没有几个一键重置软件能搞定(BE2Works亲测不行)!而LG固件和松下固件里面内容差的非常大!直接从一个电池回收的铺子,咬牙60买了7个X200的电池板做实验,三个为同款M37512 FC035!

其实,LG版本FC035的完全没有任何资源!!!所以,我下面这些硬件操作,只能从普通M37512标准下手(karosium.com/2016/08/adding-m37512-with-panasonicibm-firmware.html),软件方面编程的事,只能参考51F51的帖子和油管视频(https://www.ibmnb.com/thread-2069453-1-1.html 这个里面有)!

跟R2J240/51F51一样,需要进入Boot Mode(相当于下载模式/刷机模式)才能开始编程。这个步骤什么M37512都是一样的。BE2Works 4.52破解有自动进入Boot Mode的功能,但是我亲自测试完全无效!
所以,只好手动拉飞线,pin9 - 12 - 43(我这里42-43-44是连起来的,都是芯片Vcc供电)
直接从针脚上面拉飞线有点危险,搞不好会跟临近的针脚短路。所以,我用万用表和放大镜,手动找到了我这款板子那三个针脚去了哪里(你的板子肯定跟我的不一样)


在这些地方连飞线就好了
然后,因为需要翻来覆去的接电断电,为了省事,我在某宝上面买了一包470欧的水泥电阻,这样子只用接电池正负极就行了,弄好了再接真正的电芯
另外,如果保险烧了的话,需要现在修复好。如果保险没有烧的话,不用担心,在Boot Mode下面无法烧保险


接上了后,用Cypress FX2LP开发板,接好GND、SCL、SDA针脚,准备好Linux上面的smbusb(Karosium原生版,不是那个迁移到CP2112版,那个有重大bug,会莫名其妙删你固件!)
因为M37512进入了Boot Mode以后十分的脆弱,随便一个命令弄错了就会导致莫名其妙的擦除内容,所以从此开始,软件上面每一步都需要额外的小心!!!
正因为如此,我们使用Karosium建议使用的测试,扫描前10个register的读写特性,不能多了,多了会碰到擦写用的register导致数据丢失!

先使用这个库里面的 sudo smbusb_scan -w 0x16 -e 10检查返回出来的结果


看这些00-10的规律,一般由以下四个场景:

Case 1:
Case 2:
Case 3:
Case 4:无输出(打印 None)

详解:
场景1为正常成功进入Boot Mode了,可以进行下面编译环节了

场景2为一般松下电池进入Boot Mode,这个是个骗人的输出,其实是等着要密码!松下一般密码为CDAB 3412,输入如下:

sudo smbusb_comm -a 16 -c FF -w CDAB -b
sudo smbusb_comm -a 16 -c CF -w 3412 -b
输入完了再次扫描就应该是场景1了



场景3为正常运行状态的结果,这个意思是你芯片根本没有进入Boot Mode。

场景4为芯片完全没有响应。检查连接,检查输入电压是否严重亏电,而且可以尝试短暂飞线电芯正极和电池插座正极

开始编程之前需要备份。这里M37512有六个数据分区:Block A, B, 0, 1, 2, 3。其中Block A和B为动态数据(写入寿命1000次),A一般都是空白。Block 1一般为静态数据,如电池FRU、序列号、设计容量、设计电压、充电电压等;其余一般为固件本身。注意Block 0、1、2、3写入寿命只有100次!!
按照以下命令逐个分区备份:
sudo smbusb_m37512flasher -d bb.bin -p bb

然后把bb变成ba、bb、b0、b1、b2、b3,重复运行
成功后检查一下备份,应该里面除了ba以外都有地方有数据。这备份就成功了。


以上内容亲自测试松下M37512 FC200和LG M37512 FC035都可适用。下面帖子讲编程部分,这个就是专门为LG M37512 FC035的了!

imdx 发表于 2025-10-26 16:55

不错,终于有看到用smbusb电池的帖子了,T60p的电池也是m37512。
我更新了smbusb的几个模块,帖子在这里:
https://zhuanlan.zhihu.com/p/1962220392698577281

anjue 发表于 2025-10-26 17:14

本帖最后由 anjue 于 2025-10-26 17:22 编辑

不错!51f51进入boot模式,不用飞线,只需按照那个人的教程用电阻拉低tp1,触发tp14重置。
没看清飞线后的图

anjue 发表于 2025-10-26 17:24

我看那个人github有smbusb的windows版本,还要装个驱动,请问用cp2112在win下能操作连接成功吗,我试了,提示找不到适配器

jackmacc 发表于 2025-10-26 19:31

本帖最后由 jackmacc 于 2025-10-26 19:38 编辑



这个帖子我反复看过几遍. 6个数据块.分别读取,
然后就可以随意在 windows 下用cp2112 ,软件进行编程了.但是没有多买几个 瑞萨的板子.就没有去琢磨
LZ 亲力亲为,非常感谢辛勤付出! 说实话,你这个文章. 对我很有启发.收藏了.




页: [1]
查看完整版本: 【原创】日志 - 全网首篇 hack LGC 固件 瑞萨M37512-FC035电池芯片的资料