06-24-2021, 10:25 PM
TP-Link MR10U使用4MiB的NOR flash. 前几天不小心把路由器刷砖了,需要重新刷路由器,我就顺便把芯片直接换成16M的。
用热风枪把4M的芯片吹下来,用编程器读出数据。原厂固件前128KiB是U-Boot区域,末64KiB是ART(Atheros Radio Test)区域,把这两个区域读出来。创建一个16MiB的文件,把U-Boot和ART写到16MiB文件的前128KiB和末64KiB,再把一个OpenWrt/LEDE的固件写到128KiB开始的地方,然后把这个16MiB的文件刷到flash里就行了。我用的是MX25L12873F.
另一个我比较关注的问题是能不能ISP刷写,也就是通过夹子夹住路由器PCB上的flash用编程器刷写。此前尝试救砖的时候就失败了。这次我换了16MiB的flash之后,再次试了一下ISP,发现还是有可能成功的。我用的是刷了stm32-vserprog的XTW100编程器,使用flashrom的时候给编程器加上spispeed=1M这个选项,就能把数据刷进去,之前试过用2M,4M的spispeed,flashrom报告erase failed,只能用慢一点的速度刷写。
用热风枪把4M的芯片吹下来,用编程器读出数据。原厂固件前128KiB是U-Boot区域,末64KiB是ART(Atheros Radio Test)区域,把这两个区域读出来。创建一个16MiB的文件,把U-Boot和ART写到16MiB文件的前128KiB和末64KiB,再把一个OpenWrt/LEDE的固件写到128KiB开始的地方,然后把这个16MiB的文件刷到flash里就行了。我用的是MX25L12873F.
另一个我比较关注的问题是能不能ISP刷写,也就是通过夹子夹住路由器PCB上的flash用编程器刷写。此前尝试救砖的时候就失败了。这次我换了16MiB的flash之后,再次试了一下ISP,发现还是有可能成功的。我用的是刷了stm32-vserprog的XTW100编程器,使用flashrom的时候给编程器加上spispeed=1M这个选项,就能把数据刷进去,之前试过用2M,4M的spispeed,flashrom报告erase failed,只能用慢一点的速度刷写。