数码之家

标题: 小米智能插座WiFi芯片坏了,更换后OTP read Error [打印本页]

作者: 胡奚曷    时间: 2023-11-19 21:20
标题: 小米智能插座WiFi芯片坏了,更换后OTP read Error
本帖最后由 胡奚曷 于 2023-11-19 21:21 编辑

情况是这样的,家里的小米智能插座坏了,拆开一看是进水导致的电路腐蚀
[attach]1978087[/attach]


等到我把12v修出来以后发现Wifi芯片短路,赶紧拆下来
型号是XMW016ESP,上面还有乐鑫的logo,猜测应该是ESP8266
[attach]1978090[/attach]
赶紧用编程器把固件读出来,搜一下,果然有ESP8266的字样
[attach]1978086[/attach]
于是换上一个ESP8266上去,发现启动不起来,报OTP read Error
[attach]1978088[/attach]
串口波特率75K,抓取log如下


stack:512
idle_task_hdl : 3fff2228,prio:0, stack:384
tim_task_hdl : 3fff49b8, prio:2,stack:512
data  : 0x3ffe8000 ~ 0x3ffe8c80, len: 3200
rodata: 0x3ffe8d70 ~ 0x3ffeaf54, len: 8676
bss   : 0x3ffeaf58 ~ 0x3fff2008, len: 28848
heap  : 0x3fff2008 ~ 0x40000000, len: 57336

_|      _|  _|_|_|  _|_|_|    _|_|  
_|_|  _|_|    _|      _|    _|    _|
_|  _|  _|    _|      _|    _|    _|
_|      _|    _|      _|    _|    _|
_|      _|  _|_|_|  _|_|_|    _|_|  
08:00:00.004 [I] Moving PSM: Already done, prepare for new MIIO.
psm init success
error: OTP read error, -2


想要问一下大家,这种情况怎么解决,谢谢~


作者: brianlee    时间: 2023-11-19 21:37
小米的很多有加密。
作者: 52130    时间: 2023-11-19 21:44
高手啊。。。。坐等答案
作者: mfvpnhaha    时间: 2023-11-19 21:48
你使用的啥编程器备份的啊,按理说你全部备份完整备份是不会出现的吧
作者: 胡奚曷    时间: 2023-11-19 22:06
mfvpnhaha 发表于 2023-11-19 21:48
你使用的啥编程器备份的啊,按理说你全部备份完整备份是不会出现的吧

用的是CH341呀,Flash芯片没换,只是备份一下
作者: mfvpnhaha    时间: 2023-11-19 22:21
胡奚曷 发表于 2023-11-19 22:06
用的是CH341呀,Flash芯片没换,只是备份一下

估计这个编程器太简易了,建议换一个高端的在试试?
作者: 胡奚曷    时间: 2023-11-19 22:24
mfvpnhaha 发表于 2023-11-19 22:21
估计这个编程器太简易了,建议换一个高端的在试试?

Flash芯片没坏,还是原装的,只不过换了个ESP8266芯片,跟编程器应该没啥关系吧?
作者: mfvpnhaha    时间: 2023-11-19 22:29
胡奚曷 发表于 2023-11-19 22:24
Flash芯片没坏,还是原装的,只不过换了个ESP8266芯片,跟编程器应该没啥关系吧? ...

我觉得有关系,这个opt应该是有单独的选项来保存备份的
作者: renpeng009    时间: 2023-11-19 22:41
[attach]1978150[/attach]

这里是什么意思?
作者: 胡奚曷    时间: 2023-11-19 22:42
renpeng009 发表于 2023-11-19 22:41
这里是什么意思?

不清楚这个是啥意思
作者: 胡奚曷    时间: 2023-11-19 22:46
mfvpnhaha 发表于 2023-11-19 22:29
我觉得有关系,这个opt应该是有单独的选项来保存备份的

[attach]1978151[/attach]
这上面说有128bit的OTP,但是手册里都没提到过,也不知道怎么用
作者: mfvpnhaha    时间: 2023-11-19 22:58
胡奚曷 发表于 2023-11-19 22:46
这上面说有128bit的OTP,但是手册里都没提到过,也不知道怎么用

多半就是你的编程器没这个备份otp的功能,你没备份到,所以我还是认为你需要找高端一点的编程器在试试,因为我直前刷电脑bios也是有otp的,编程器都是有单独备份otp的选项等等,otp里面好像是有一些信息存着的
作者: 胡奚曷    时间: 2023-11-20 09:11
mfvpnhaha 发表于 2023-11-19 22:58
多半就是你的编程器没这个备份otp的功能,你没备份到,所以我还是认为你需要找高端一点的编程器在试试, ...

关键是Flash我没有更换呀,还是小米插座原装的flash,我只是换了ESP8266,备份Flash的目的也只是备份
作者: devcang    时间: 2023-11-20 10:27
看楼上的意思是说,otp是8266内的、不同地址(功能)的资料。。。。。。。。。
作者: 猪小呆    时间: 2023-11-20 10:55
可能是小米的8266单片机内部otp上有加密的数据,你新换的没有,所以验证通不过
作者: 猪小呆    时间: 2023-11-20 11:41
本帖最后由 猪小呆 于 2023-11-20 11:42 编辑

芯片内的OTP是可以原厂定制的,不过如果你把固件反编译出来,找到检查的地方破解掉,就可以去除限制了:
[attach]1978589[/attach]
作者: gl542400    时间: 2023-11-20 11:58
单片机 MCU 之类不是普通运放直接换。
作者: 胡奚曷    时间: 2023-11-20 14:58
本帖最后由 胡奚曷 于 2023-11-20 15:00 编辑
猪小呆 发表于 2023-11-20 10:55
可能是小米的8266单片机内部otp上有加密的数据,你新换的没有,所以验证通不过 ...

我猜也是如此,但是ESP8266手册上都没有这个OTP

可能是不同批次有的有OTP有的没有吧,或者是定制的OTP

作者: 胡奚曷    时间: 2023-11-20 15:00
猪小呆 发表于 2023-11-20 11:41
芯片内的OTP是可以原厂定制的,不过如果你把固件反编译出来,找到检查的地方破解掉,就可以去除限制了:
...

不知道这个内核有没有反编译器
作者: 猪小呆    时间: 2023-11-20 15:57
胡奚曷 发表于 2023-11-20 15:00
不知道这个内核有没有反编译器

可以的,网上有一些文章:
https://ratzzo.net/index.php/pos ... sp8266-internal-rom
https://boredpentester.com/reversing-esp8266-firmware-part-1/
作者: hbdj1234    时间: 2023-11-21 05:53
我的跟你的同样问题,只是阿里方案的,用着用着就突然不能联网了,换了8266还是不行,应该是8266内部还有固件,不行只能刷了,可以参考一下这个帖子https://www.mydigit.cn/thread-270526-1-5.html
作者: 胡奚曷    时间: 2023-11-21 08:38
hbdj1234 发表于 2023-11-21 05:53
我的跟你的同样问题,只是阿里方案的,用着用着就突然不能联网了,换了8266还是不行,应该是8266内部还有固 ...

有没有可能这个帖子正是我发的呢

还是想用回小米,毕竟小米的服务器比blinker的稳定一点

我在寻思者买个其他的XMV01ESP能不能管用,OTP的数据是不是通用的
作者: mfvpnhaha    时间: 2023-11-23 14:17
胡奚曷 发表于 2023-11-20 09:11
关键是Flash我没有更换呀,还是小米插座原装的flash,我只是换了ESP8266,备份Flash的目的也只是备份 ...

我的意思就是你的CH341A不行,没这功能, 这编程器简单刷写一下bios还行,想读otp就免了,所以叫你换一个高级点的编程器试试效果
作者: chenghelin    时间: 2024-1-23 16:44
esp加密不是在FLASH里面,是在ESP里面,导致不能刷机,网上买过加密的ESP32D0WD模块不能刷机,换ESP32D0WD就可以了
作者: 胡奚曷    时间: 2024-1-23 21:00
chenghelin 发表于 2024-1-23 16:44
esp加密不是在FLASH里面,是在ESP里面,导致不能刷机,网上买过加密的ESP32D0WD模块不能刷机,换ESP32D0WD ...

ESP32是有加密的,ESP8266没这功能,部分版本有OTP功能,因为ESP8266这种不安全性,所以逐步退市了
作者: 烙印疤子2020    时间: 2024-1-24 12:58
应该是有加密的,否则山寨起来就太容易了
作者: firseve    时间: 2024-1-24 16:30
看抖音上捡漏的小米的esp32 不仅是solo单核 还有锁
估计你这8266一个鸟样 。。。
万恶的小米,即使让芯片变垃圾也不让垃圾佬愉快的玩耍。。。
作者: jackkane    时间: 2024-1-24 20:19
收个小米设备拆机的8266吧。小米的8266别的地方用不了。普通8266小米似乎也不能用。。。。
前几天还刷到个博主买回来一大堆小米拆机的8266没办法用呢。
作者: 胡奚曷    时间: 2024-1-25 12:49
jackkane 发表于 2024-1-24 20:19
收个小米设备拆机的8266吧。小米的8266别的地方用不了。普通8266小米似乎也不能用。。。。
前几天还刷到个 ...

那个博主买的是ESP32吧
作者: 胡奚曷    时间: 2024-1-25 12:52
拆了另外一个小米WiFi插座,把固件读出来,写到ESP8266里面
软件能跑起来,不需要OTP,但是mac地址不对,配网失败,服务器不认
有啥办法可以解决
作者: 猪小呆    时间: 2024-1-25 14:27
胡奚曷 发表于 2024-1-25 12:52
拆了另外一个小米WiFi插座,把固件读出来,写到ESP8266里面
软件能跑起来,不需要OTP,但是mac地址不对,配 ...

mac地址应该是在固件里吧,用hex编辑工具打开搜一下看能不能搜到,能搜到就改一下试试
作者: firseve    时间: 2024-1-25 18:19
猪小呆 发表于 2024-1-25 14:27
mac地址应该是在固件里吧,用hex编辑工具打开搜一下看能不能搜到,能搜到就改一下试试 ...

不可能这么简单把,怎么也要判断芯片的序列号再加上mac 混合计算出来个码放到25芯片里做校验
作者: 胡奚曷    时间: 2024-1-25 22:07
猪小呆 发表于 2024-1-25 14:27
mac地址应该是在固件里吧,用hex编辑工具打开搜一下看能不能搜到,能搜到就改一下试试 ...

没搜到mac地址,esp8266应该有固定的mac地址吧?




欢迎光临 数码之家 (https://www.mydigit.cn/) Powered by Discuz! X3.4