美文网首页路由联盟我用 Linux@IT·互联网
XiaomiRouter自学之路(12-改造小米路由器3使之支持

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

作者: Creator_Ly | 来源:发表于2017-03-09 20:26 被阅读1882次
    题图:gratisography

    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_MOSI R135 R135
    SPI_CLK R127 R127
    TXD2 R137 R139
    GPIO0 R126 R124

    可以观察到:

    • 小米路由器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.1
    HTTP server is ready!
    

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

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

    注:以上内容都是本人在学习过程积累的一些心得,难免会有参考到其他文章的一些知识,如有侵权,请及时通知我,我将及时删除或标注内容出处,如有错误之处也请指出,进行探讨学习。文章只是起一个引导作用,详细的数据解析内容还请查看XiaomiRouter相关教程,感谢您的查阅。

    相关文章

      网友评论

        本文标题:XiaomiRouter自学之路(12-改造小米路由器3使之支持

        本文链接:https://www.haomeiwen.com/subject/vqbegttx.html