小米路由器3是基于linux,XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)...
题图: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相关教程,感谢您的查阅。
小米路由器3是基于linux,XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)...相关推荐
- XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)
XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动) 上一章节已经说到小米路由器mini的Uboot.Openwrt都能够正常的启动了,现在想要小米路由器3也能够正常启动,所以 ...
- XiaomiRouter自学之路(13-U-boot支持web更新firmware功能)
XiaomiRouter自学之路(13-U-boot支持web更新firmware功能) 上一章节说明小米路由器3触发了web更新firmware的功能,因为下载的源码中已经支持改功能了,只不过小米路 ...
- XiaomiRouter自学之路(01-项目背景)
XiaomiRouter自学之路(01-项目背景) 公司是做无线路由器的,加入公司一年多了,没能按意愿学到更多有关linux驱动及其相关的知识,这在我以前的文章"2016总结"和& ...
- 小米平板4能装Linux系统吗,终于迎来它!小米平板4进行重大更新
原标题:终于迎来它!小米平板4进行重大更新 今天,小米平板4接到了一条推送系统更新提示,这次更新最大的变化是加入了语音控制系统"小爱同学".除此之外,这次更新还修复了机器摄像头性能 ...
- 小米自2017年开始基于NuttX开发物联网产品
转载自:https://www.sohu.com/a/430837476_472880 小米在建IoT护城河 2020-11-10 11:45 本文作者:市大妈 MIDC 2020小米开发者大会刚刚过 ...
- linux 毕业设计 apache,毕业论文基于Linux的Apache服务器的设计与设计6喜欢就下吧...
<[毕业论文]基于Linux的Apache服务器的设计与设计.doc>由会员分享,可免费在线阅读全文,更多与<毕业论文基于Linux的Apache服务器的设计与设计(6)(喜欢就下吧 ...
- 麒麟操作系统基于linux哪个版本_中国为什么有这么多麒麟Linux系统?
本文由LinuxProbe.Com团队成员张宏宇整理发布, 由国防科大开发的麒麟操作系统有很多,与国防科大混乱的 CPU 产品线一样,这些麒麟操作系统彼此之间技术延续性也有限,比较有名的是银河麒麟.优 ...
- 麒麟操作系统基于linux哪个版本_中国为什么有这么多麒麟Linux系统
本文由LinuxProbe.Com团队成员张宏宇整理发布, 由国防科大开发的麒麟操作系统有很多,与国防科大混乱的 CPU 产品线一样,这些麒麟操作系统彼此之间技术延续性也有限,比较有名的是银河麒麟.优 ...
- linux 认证 转发,一种基于Linux系统实现路由器的portal认证报文转发方法和装置
主权项: 1.一种基于Linux系统实现路由器的portal认证报文转发方法,其特征在于,在Linux系统上创建虚拟网卡,为虚拟网卡配置环回口IP地址,配置portal进程监听环回口的TCP协议预设端 ...
最新文章
- BTC.com率先发起使用开放联盟网关协议OFGP,联合iBitcome钱包携手送糖果
- Skynet入门范例之sproto
- MVVM框架的搭建(二)——项目搭建
- Librepilot-创建UAVObject及编译到飞机端和地面站端的步骤
- SAP SOAMANAGER报错原因与故障排除方法
- 基于华为云的Django网站部署
- How Many Answers Are Wrong HDU - 3038(带权并查集)
- centos7 frp内网穿透
- 解决MySQL下把结果导出到文件权限不足问题
- 【电脑帮助】解决Wind10系统修改电脑默认用户名Administrator的问题
- 研究别人,能知道做什么赚钱,了解自己,能知道什么钱适合赚
- mysql语句大全及例子_SQL语句大全实例教程.pdf
- 概率论基础 - 6 - 切比雪夫不等式
- 刘宇凡:让白茶陪你一起熬夜看世界杯
- request+BeautifulSoup:下载《笔趣看》网小说《第九特区》
- matlab学习心得(一)
- Linux下恢复误删的文件
- 金融行业的数据分析应该怎么做?
- WIN11win10 使用Anaconda下载Pytorch详细教程(包括换源)
- 雷柏V500s和V500的win键无效