昨天本来想写本系列最后一篇文章,也想将这段时间的刷机娱乐收个尾。没想到收到csdner的短消息,内容说可能已经关闭刷机通道,oec/oect可能已经无法刷机。
这样让手上本来还有一台原厂系统的oect的我瞬间有点方。本意是留着以后有大佬研究出来可以打开系统,备份刷机的方法后,再备份原厂系统留做研究娱乐使用,然后再刷机使用。看到这条消息后我决定抓紧时间刷掉,毕竟我不跑PCDN,留着原厂系统也没用,如果确实关闭刷机通道无法再刷机,这台配制这么好的设备,对于我来说就是一块砖了。
然后,刷机之路没想到异常艰难...
好在最终成功了...
复现条件
最终也并没有研究透复现的绝对条件是什么,那就如实写下我最后成功刷机的条件吧。
* usb2.0
虽然不确定是否一定要用usb2.0,但之前有csdner发评论说usb2.0的口子确实容易刷入。而我成功的那次也确实是usb2.0。
* 多次卸载驱动,重启电脑
在刷入成功之前,很多次刷入失败。甚至出现多次短接无法进入Maskrom模式。我多次尝试卸载驱动,并重启电脑。再重新装入驱动。
最后成功这次甚至是忘了安装驱动,发现设备无法识别后。再断开连接,重新安装驱动。短接成功后一次刷入。
* 网络
复现是我的网络有科学。但不确定科学是否影响下载boot。
* TTL
因为失败次数太多,我尝试连接串口查看,但失败的时候没有串口响应,成功后再看,看起来也只是正常的系统加载。没有对比,也就不好看出来什么了
- ......
-
- Boot1 Release Time: Jun 18 2021 20:07:33, version: 1.10
- support nand flash type: slc
- ...nandc_flash_init enter...
- No.1 FLASH ID:ff ff ff ff ff ff
- sfc nor id: ff ff ff
- sfc_nand id: ff ff ff
- SD IO init 0
- Set SD Clk: 200, 5
- Set SD Clk: 200, 5
- SDC_BusRequest: CMD=8 SDC_RESP_TIMEOUT 1747
- mmc0:cmd8,20
- SDC_BusRequest: CMD=5 SDC_RESP_TIMEOUT 1747
- mmc0:cmd5,20
- SDC_BusRequest: CMD=55 SDC_RESP_TIMEOUT 1747
- mmc0:cmd55,20
- SDC_BusRequest: CMD=1 SDC_RESP_TIMEOUT 1747
- mmc0:cmd1,20
- Set SD Clk: 200, 5
- SDC_BusRequest: CMD=8 SDC_RESP_TIMEOUT 1747
- mmc0:cmd8,20
- SDC_BusRequest: CMD=5 SDC_RESP_TIMEOUT 1747
- mmc0:cmd5,20
- SDC_BusRequest: CMD=55 SDC_RESP_TIMEOUT 1747
- mmc0:cmd55,20
- SDC_BusRequest: CMD=1 SDC_RESP_TIMEOUT 1747
- mmc0:cmd1,20
- Set SD Clk: 200, 5
- SDC_BusRequest: CMD=8 SDC_RESP_TIMEOUT 1747
- mmc0:cmd8,20
- SDC_BusRequest: CMD=5 SDC_RESP_TIMEOUT 1747
- mmc0:cmd5,20
- SDC_BusRequest: CMD=55 SDC_RESP_TIMEOUT 1747
- mmc0:cmd55,20
- SDC_BusRequest: CMD=1 SDC_RESP_TIMEOUT 1747
- mmc0:cmd1,20
- SdmmcInit=0 1
- Emmc IO init.
- EMMC_DLL_RXCLK = 0
- Emmc IO init.
- EMMC_DLL_RXCLK = 0
- mmc_set_bus_width: 1
- SetEmmcClk: 375000, 5
- SetEmmcClk: 375000, 5
- mmc_set_bus_width: 8
- SetEmmcClk: 200000000, 1
- Enable PHY CLK: 200000000
- SdmmcInit=2 0
- BootCapSize=100000
- UserCapSize=7456MB
- FwPartOffset=2000 , 100000
- UsbBoot ...124227
- powerOn 124455
-
- ......
* RKDevTool日志
日志和串口通信正好相反,下载boot失败时有日志,但成功时却没有日志信息。也不好印证什么
- // 下载boot失败日志
- 14:33:59 923 瑞芯微开发工具 v2.8.4.0 start run
- 14:35:31 595
ERROR:Boot_VendorRequest-->DeviceIoControl failed,Total(100354),Sended(0),bRet(0),err(79) - 14:35:31 595
ERROR:DownloadBoot-->Boot_VendorRequest472 failed,index(0) - 14:35:31 595 Layer<1-5>: RunProc is ending, ret=0
-
-
- // 成功刷入日志
- 14:35:53 177 瑞芯微开发工具 v2.8.4.0 start run
- 14:36:25 720 Layer<1-5>:测试设备开始
- 14:36:25 720 Layer<1-5>:测试设备成功
- 14:36:25 735 Layer<1-5>: Download Flash_Armbian_25.05.0 at 0x00000000...
- 14:41:30 761 Layer<1-5>: RunProc is ending, ret=1
下载boot失败截图
命令行工具upgrade_tool下载boot失败截图
v3.32下载boot失败截图
所以这里最后的结论是:
* 为什么下载boot失败,仍然没搞明白。
* oec/oect仍可以刷机,但是需要反复去尝试刷入才可能成功。
* 至于刷入成功的必要条件,上述不一定尽述,希望有大佬可以科学讲述。
最后: 刷机有风险,操作需谨慎。
评论记录:
回复评论: