XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)

上一章节已经说到小米路由器mini的Uboot、Openwrt都能够正常的启动了,现在想要小米路由器3也能够正常启动,所以我们需要改造下3的硬件。

01-项目背景中已经说明,小米路由器3使用的是nand flash启动,但是预留了spi flash接口。所以猜测小米路由器3也能从spi flash启动。

查看MT7620a的datasheet,会找到如下信息:


启动方式

这边说明了MT7620的启动方式是根据SPI_MOSI、SPI_CLK、TXD2、GPIO0这四个引脚决定的,只要把其设置为2(0010),则就是从spi启动了。

这就头疼了,又没有小米路由器的电路图,我怎么知道这四个引脚位于哪里呢?

虽然可以知道SPI_MOSI、SPI_CLK这两个引脚就是spi接口上的引脚,但还有两个引脚呢。下载了很多有个MT7620的官方资料,也不知道怎么入手查找这四个引脚的位置。

感谢简书用户我是一棵狗尾巴草的提示,竟然发现小米路由器上该部分的电路跟官方提供的一样,而且连电阻的编号都没有变,只能说小米的工程师太懒了。

四个启动引脚的电路如下:


引脚电路图

观察小米路由器mini和小米路由器3这这个引脚的链接方式,如下:


小米路由器mini小米路由器3
SPI_MOSIR135R135
SPI_CLKR127R127
TXD2R137R139
GPIO0R126R124

可以观察到:

  • 小米路由器mini为0010,及即启动方式中的2,spi启动。

  • 小米路由器3为0001,及启动方式中的1,nand启动。

所以我们需要做的就是将小米路由器3的R139拆掉焊接到R137处,R124拆掉焊接到R126处即可。

改造后如下图:

R139和R137在电路板正面:


R139->R137

R124和R126在电路板反面:


R124->R126

硬件改造完成后,将原来使用在小米路由器mini上的spi flash拆下来,安装到小米路由器3看是否能启动,如果硬件改造成功的话,即可看到小米路由器3正常启动。

将小米路由器3上电后,发现虽然是从spi flash启动了,可是在u-boot阶段触发了web更新image,导致不能正常启动,如下

NetLoopHttpd,call eth_halt ! 
Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


 ETH_STATE_ACTIVE!! 
HTTP server is starting at IP: 192.168.128.1HTTP server is ready!

这是由于小米路由器3和小米路由器mini的RESET引脚使用的GPIO不一样导致的,在mini上没触发web更新image,但在3上面触发了,关于web更新image这个功能将在下一章节进行说明。

改造小米路由器3使之支持spi启动的分析就到这边,有感悟时会持续会更新。


本文章由作者:佐须之男 整理编辑,原文地址: XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐