XiaomiRouter自學之路(12-改造小米路由器3使之支持spi啟動)
上一章節(jié)已經說到小米路由器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的官方資料,也不知道怎么入手查找這四個引腳的位置滩报。
感謝簡書用戶我是一棵狗尾巴草的提示锅知,竟然發(fā)現小米路由器上該部分的電路跟官方提供的一樣,而且連電阻的編號都沒有變脓钾,只能說小米的工程師太懶了售睹。
四個啟動引腳的電路如下:
觀察小米路由器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在電路板正面:
R124和R126在電路板反面:
硬件改造完成后蒜鸡,將原來使用在小米路由器mini上的spi flash拆下來,安裝到小米路由器3看是否能啟動牢裳,如果硬件改造成功的話逢防,即可看到小米路由器3正常啟動。
將小米路由器3上電后蒲讯,發(fā)現雖然是從spi flash啟動了忘朝,可是在u-boot階段觸發(fā)了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上沒觸發(fā)web更新image,但在3上面觸發(fā)了脊另,關于web更新image這個功能將在下一章節(jié)進行說明导狡。
改造小米路由器3使之支持spi啟動的分析就到這邊,有感悟時會持續(xù)會更新偎痛。
注:以上內容都是本人在學習過程積累的一些心得旱捧,難免會有參考到其他文章的一些知識,如有侵權踩麦,請及時通知我枚赡,我將及時刪除或標注內容出處,如有錯誤之處也請指出谓谦,進行探討學習贫橙。文章只是起一個引導作用,詳細的數據解析內容還請查看XiaomiRouter相關教程反粥,感謝您的查閱卢肃。