XiaomiRouter自學(xué)之路(12-改造小米路由器3使之支持spi啟動)

題圖:gratisography

XiaomiRouter自學(xué)之路(12-改造小米路由器3使之支持spi啟動)

上一章節(jié)已經(jīng)說到小米路由器mini的Uboot、Openwrt都能夠正常的啟動了,現(xiàn)在想要小米路由器3也能夠正常啟動,所以我們需要改造下3的硬件。

01-項目背景中已經(jīng)說明,小米路由器3使用的是nand flash啟動,但是預(yù)留了spi flash接口。所以猜測小米路由器3也能從spi flash啟動。

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


啟動方式

這邊說明了MT7620的啟動方式是根據(jù)SPI_MOSI、SPI_CLK、TXD2、GPIO0這四個引腳決定的,只要把其設(shè)置為2(0010),則就是從spi啟動了。

這就頭疼了,又沒有小米路由器的電路圖,我怎么知道這四個引腳位于哪里呢?

雖然可以知道SPI_MOSI、SPI_CLK這兩個引腳就是spi接口上的引腳,但還有兩個引腳呢。下載了很多有個MT7620的官方資料,也不知道怎么入手查找這四個引腳的位置。

感謝簡書用戶我是一棵狗尾巴草的提示,竟然發(fā)現(xiàn)小米路由器上該部分的電路跟官方提供的一樣,而且連電阻的編號都沒有變,只能說小米的工程師太懶了。

四個啟動引腳的電路如下:


引腳電路圖

觀察小米路由器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上電后,發(fā)現(xiàn)雖然是從spi flash啟動了,可是在u-boot階段觸發(fā)了web更新image,導(dǎo)致不能正常啟動,如下

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不一樣導(dǎo)致的,在mini上沒觸發(fā)web更新image,但在3上面觸發(fā)了,關(guān)于web更新image這個功能將在下一章節(jié)進(jìn)行說明。

改造小米路由器3使之支持spi啟動的分析就到這邊,有感悟時會持續(xù)會更新。

注:以上內(nèi)容都是本人在學(xué)習(xí)過程積累的一些心得,難免會有參考到其他文章的一些知識,如有侵權(quán),請及時通知我,我將及時刪除或標(biāo)注內(nèi)容出處,如有錯誤之處也請指出,進(jìn)行探討學(xué)習(xí)。文章只是起一個引導(dǎo)作用,詳細(xì)的數(shù)據(jù)解析內(nèi)容還請查看XiaomiRouter相關(guān)教程,感謝您的查閱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容