|
|
楼主 |
发表于 2025-10-27 14:00:42| 字数 2,517| - 中国–北京–北京 电信
|
显示全部楼层
本帖最后由 2690173248 于 2025-10-27 14:30 编辑
M37512编程
按照之前步骤成功获取六个分区的备份以后,备份文件复制一份,然后直接改
一般情况下,只需要修改bb.bin(Block B)。如果要修改静态信息,像充电电压,也需要修改b1.bin(Block 1)。
这里下面全部讲的是LG固件的结构,松下固件的文件结构跟这个完全不一样!
但是松下固件的别着急,顺便说一下:
- 虽说BE2Works无法正常读取,但BE2Works可以一键重置松下固件(LG不行)。如果是松下固件的话,直接把备份按照B A 3 2 1 0顺序正确组装(打开bb.bin,然后在文件后面粘贴ba,然后b3 b2 b1 b0;总文件应该是从0000到CFFF,或者52KB。
- 插个CP2112(不要插电池!!!),打开BE2Works,选择M37512。直接把这个52KB的文件导入BE2Works,输入目标容量,按重置(还是不要插电池!)。一会儿会报写入错误,这个时候把修改好的EEPROM另存为。
- 最后把前面0-7FF拷贝出来另存,这个就是你的解锁了的bb_new.bin
- 然后 sudo smbusb_m37512flasher -w bb_new.bin -p bb --confirm-delete 确认写入此文件;断电,断飞线,重新接电即可使用!
下面是真正说LG的M37512 FC035的文件结构:
这个大大参考了51F51的资料,文件结构跟51F51很相像(https://www.ibmnb.com/thread-2069453-1-1.html)
用HxD打开bb.bin,初次看起来真的眼花缭乱
但是别急,这个一步一步的来。
第一个发现,是这些貌似也是来回来去的重复,其实,40行、80行、C0行、100行等都是重复!这个跟那个51F51很相似,其实每一个是日志!而且,每一个日志在最前面都有00显示这个日志的存在。而且,据我发现,这里01显示的是有错误的日志(可能带锁的)。这套也跟51F51同理
锁标:
51F51的帖子上面说,锁标是个17标识。我这里有三个M37512 FC035的备份,一个没锁,两个有锁。有锁的两个bb我也是发现有17标识,而且也是在上面标识01的那个对应的log里面有!
图中显示一个,我另一个bb里面有很多个17,而且每一次写17的log上面对应的都是01!你可以下载我的问题bb.bin然后自己观察
只是,这里我们猜测的锁标位置明显不一样,而且这里貌似正常使用标不是03。
而且,我敢非常的肯定,第一个日志是没有问题的,所以不如按照下图,直接把后面所有的log全部FF掉(上面对应的00/01标识也FF掉),只留第一个!
剩下第一个log,应该锁标没了。下面开始改其它参数
51F51的其它参数如下:
- (Need update) 51F51 revision has next founded mapping (all little endian):
- 0x40, 2 bytes - Remain Capacity Alarm, in mAh
- 0x44, 2 bytes - Remaining Time Alarm, in minutes
- 0x48, 2 bytes - FCC. TBD: example dump above map this value as-is in mAh, but I need 6000 mAh multiply to 1.78 to gen ~6000mAh in the report output. Need investigate.
- 0x46, 2 bytes - Battery Mode
- 0x4C, 2 bytes - Cycle Count, maps as is (TBD)
复制代码
我还是按照这个作为参考。M37512 FC035的参数具体位置跟这个不一样,但是原理跟这个一样!(而且全部是小端序!)
0x40, 2 bytes - Remain Capacity Alarm, in mAh
0x44, 2 bytes - Remaining Time Alarm, in minutes
这两个还是一样的,但是这两个不要改!
0x48, 2 bytes - FCC
FCC(满电容量)也是同一个地方,但是有两个位置!0x48是一个,0x4a也是!0x48是一个很奇怪的单位,为1.11*mah。我这里改成了6B14,是5227,或者5227*1.11=5.8Ah
0x4a是 10mWh单位,这里我填的7818,是6264 * 10mWh=62.64Wh。这两个不需要完全相同,但是别漏改!!!漏了充电的标尺会很奇怪!
0x4C, 2 bytes - Cycle Count, maps as is (TBD)
这个是一模一样,直接00就行
另外,还有0x4E, 2 bytes。这个是首次使用日期,可改可不改,我改成了4C5B,DOS日期=2025-10-12
所以,以下是我所有修改的地方:
高压电池
有的M37512 FC035主控的是高压电池,我这四个主控里面,其中一个是42T4837,这个就是高压,充电电压13.05V!
我试了试,我LG MH1根本撑不住这个负载!这个需要改。
改充电电压找到了就挺容易了。在Block 1里面,如下:
这里有两个FA 32,这个是大端序的13050mV!还好,亲测这个固件没有checksum保护,我直接下图这样子改后面使用没问题(注意两处都要改!)!
两个文件都存成备份,例如b1_new.bin和bb_new.bin
在这个电池板还处于Boot Mode下,运行以下命令写入:
sudo smbusb_m37512flasher -w bb_new.bin -p bb --confirm-delete
sudo smbusb_m37512flasher -w b1_new.bin -p b1 --confirm-delete
(只有需要修改静态信息,如充电电压,才需要写入b1!不然不要动)
写入成功后,断开电源连接,拆掉飞线,重新连接电源(这里是这个水泥电阻省事的地方!),可能需要电池正极短接一下电池插座正极1秒钟来启动电池板
如果操作正确,可以尝试读取电池信息:
sudo smbusb_sbsreport
这里看出来,充电电压回来了,而且改成12.6V!
现在就可以再次断开电源连接,断开水泥电阻,上真正想用的电芯
结果一切正常!满电电压12.53V!
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
x
|