XiaomiRouter自学之路(01-项目背景)
XiaomiRouter自学之路(01-项目背景)
公司是做无线路由器的,加入公司一年多了,没能按意愿学到更多有关linux驱动及其相关的知识,这在我以前的文章”2016总结”和”2017愿景”中也有提到,我只能在其他时间进行自行充电,所以才有了现在这个自学的项目XiaomiRouter。
一次偶然的机会,租的房子网络不稳定,以为路由器坏了,想想一个Tenda路由器也用了这么久也应该换了,就在房间用不需要太好,选择了小米路由器3,路由器还没到就发现原本的Tenda路由器好好的。
公司开发的路由器是在开源的openwrt系统基础上开发,但自己都没真正搭建openwrt系统或对其他厂家的路由器进行刷机,于是就打算用刚买回来的小米路由器3进行刷机测试。
在网络上下载了开发版固件进行刷机安装ssh等,发现挺无聊的,就是更新安装,都在应用层操作。我更想去接触源码,更改底层的驱动等。
弄个linux驱动的应该都清楚,一般我们的CPU根据特定几个引脚电平的组合可以使用不同的方式进行启动,发现小米路由器3使用的使用nand flash进行存储启动的,这就尴尬了。
个人肯定不会去买nand烧录器,一个都要到千百来块,而且芯片拆下来手动焊接可不容易,关键是小米官方的固件u-boot启动后既然没有倒计时,想要在u-boot阶段进行在线更新都没办法。所以得找到用spi flash启动的,同是MT7620平台的路由器才有可能自己开发。
查阅后发现小米路由器mini就是,于是又买了个小米路由器mini,下面将小米路由器mini和小米路由器3的硬件信息进行对比:
小米路由器mini | 小米路由器3 |
---|---|
主芯片 | MT7620A |
无线芯片 | MT7612e |
内存RAM | 128M |
闪存ROM | 16MB SPI FALSH |
WIFI@2.4G | 300M |
WIFI@5G | 867M |
WAN | 1X100M |
LAN | 2X100M |
USB | 1XUSB2.0 |
天线 | 2X双频全向天线 |
发布时间 | 2014年4月 |
售价 | 129元 |
可以观察到两个平台其实都是一样的,就是存储方式不一样,小米路由器mini使用的是16M的spi flash进行存储,小米路由器3使用的是128M的nand flash进行存储,所以应该可以使用小米路由器mini来进行研究。
在观察小米路由器mini和小米路由器3的硬件PCB板,发现小米路由器3上面有个与小米路由器mini一样的spi flash的接口,就是没有焊接芯片。
所以又有了新的想法,现在既然小米路由器3上面有spi flash的接口,那我是不是也可以将此处的spi flash焊接上,烧上mini的固件,然后更改启动方式,使小米路由器3也能从spi flash启动,然后试着去写nand flash的驱动,这样小米路由器3也有办法更改u-boot了。
经过几天的资料查找,软件部分应该可以实现,u-boot使用MTK开源SDK里面的u-boot,系统使用开源的openwrt系统,硬件部分现在还不确定,毕竟没有小米路由器3的原理图等,担心后面没办法找到引脚使小米路由器3切换到spi flash启动, 但至少可以用小米路由器mini进行自学之路。
现在按自己有限的能力进行初步的项目方向安排
- 软硬件平台搭建
- GitHub环境搭建(U-boot、Openwrt)
- 小米路由器mini U-boot实现,spi启动、tftp更新、引导Openwrt等
- 小米路由器mini Openwrt基础功能实现,应用层的知识暂时先不考虑
- 小米路由器3 U-boot实现,spi/nand启动、tftp更新、引导Openwrt等
- 小米路由器3基础功能实现,应用层的知识暂时先不考虑
通过这一过程可以学习到很多知识,自己搭建环境,需要把u-boot和openwrt的nand移植好,期间还会有spi、net等多方面的知识,虽然还不知道自己是否有能力实现计划中的功能,可能会走很多弯路,但我会将自己学习的过程进行记录,持续不断的往目标前进,就算没能全部成功也可以学到很多知识。
项目背景的分析就到这边,有感悟时会持续会更新。
注:以上内容都是本人在学习过程积累的一些心得,难免会有参考到其他文章的一些知识,如有侵权,请及时通知我,我将及时删除或标注内容出处,如有错误之处也请指出,进行探讨学习。文章只是起一个引导作用,详细的数据解析内容还请查看XiaomiRouter相关教程,感谢您的查阅。
XiaomiRouter自学之路(01-项目背景)相关推荐
- 小米路由器3是基于linux,XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)...
题图:gratisography XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动) 上一章节已经说到小米路由器mini的Uboot.Openwrt都能够正常的启动了,现在想 ...
- 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的功能,因为下载的源码中已经支持改功能了,只不过小米路 ...
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方 ...
- JAVA自学之路 [原创 - 尚学堂科技 - 马士兵老师]
(我觉得看了之后挺不错的所以分享一下) JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3 ...
- JAVA自学之路——马士兵
JAVA自学之路--马士兵 2007年11月06日 星期二 05:47 P.M.[原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://ww ...
- 【经验】马士兵Java自学之路——(精华版)
目录 JAVA自学之路 一: 学会选择 2 JAVA自学之路 二: JAVA自学路线图 3 JAVA自学之路 三: 要动手 3 JAVA自学之路 四: 要事为先 4 JAVA自学之路 五: ...
- 移动应用开发之路 01 Android Studio 项目文件介绍、创建虚拟机、完成第一个程序Hello World
学校开了一门移动应用开发课程,我一开始兴趣盎然,但是看到使用的环境是 Java 8 的时候心就凉了一半,在询问老师的意见之后决定使用现在比较常用的Android Studio完成学习,特此记录自学之路 ...
- [转]尚学堂科技 - 马士兵老师-JAVA自学之路
[原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...
最新文章
- 自动配置IPv4问题
- 避免神经网络过拟合的5种技术
- 发布webservice之后调用不通
- 查看文件大小du -sh ./ ll -h
- php 写入sql server,php将图片直接写入SQLServer2008
- 继续推荐几款VisualStudio的插件
- 免费的文本分析 文本挖掘软件工具(第一部分)
- (附源码)php新闻发布平台 毕业设计 141646
- Android入门(二)
- 优化问题-目标函数确定
- 路由交换技术之代理ARP
- 概述知识图谱在人工智能中的应用
- iphone 6s耗电问题
- 【leetcode】592.分数加减运算(python)
- K-means原理与算法改进及其python实现
- 从Vue2到Vue3的差别学习升级
- 怎样免费翻译整篇英文Word文档
- Metasploit对目标主机SSH爆破
- 金蝶web前端一面(已挂
- 深度剖析-企业微信和个人微信的7个区别
热门文章
- 参加第13届全国男性健康日活动有感
- 耐用的蓝牙耳机排行榜,平价好用蓝牙耳机推荐
- 红蓝对抗可能面试题 -安全工程师面试常见问题
- idea java程序员必备 代码检测工具
- 在微信菜单中采用重定向获取用户数据
- 马原(2023版)第一章第一节笔记
- 【网络】数据链路层-以太网协议
- android 4.0 打开gps,Android获取定位权限,手动打开GPS
- 3704对象关闭时_运行时出现了“对象关闭时不允许操作”实时错误3704,请问大家怎么改呢?...
- dbf格式java解析_java解析dbf文件