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-项目背景)相关推荐

  1. 小米路由器3是基于linux,XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)...

    题图:gratisography XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动) 上一章节已经说到小米路由器mini的Uboot.Openwrt都能够正常的启动了,现在想 ...

  2. XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动)

    XiaomiRouter自学之路(12-改造小米路由器3使之支持spi启动) 上一章节已经说到小米路由器mini的Uboot.Openwrt都能够正常的启动了,现在想要小米路由器3也能够正常启动,所以 ...

  3. XiaomiRouter自学之路(13-U-boot支持web更新firmware功能)

    XiaomiRouter自学之路(13-U-boot支持web更新firmware功能) 上一章节说明小米路由器3触发了web更新firmware的功能,因为下载的源码中已经支持改功能了,只不过小米路 ...

  4. 马士兵_JAVA自学之路(为那些目标模糊的码农们)

    JAVA自学之路 一:学会选择  为了就业,不少同学参加各种各样的培训.  决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方 ...

  5. JAVA自学之路 [原创 - 尚学堂科技 - 马士兵老师]

    (我觉得看了之后挺不错的所以分享一下) JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3 ...

  6. JAVA自学之路——马士兵

    JAVA自学之路--马士兵  2007年11月06日 星期二 05:47 P.M.[原创 - 尚学堂科技 - 马士兵老师]    JAVA自学之路 一:学会选择  [转载请注明出处:http://ww ...

  7. 【经验】马士兵Java自学之路——(精华版)

    目录  JAVA自学之路 一: 学会选择 2  JAVA自学之路 二: JAVA自学路线图 3  JAVA自学之路 三: 要动手 3  JAVA自学之路 四: 要事为先 4  JAVA自学之路 五: ...

  8. 移动应用开发之路 01 Android Studio 项目文件介绍、创建虚拟机、完成第一个程序Hello World

    学校开了一门移动应用开发课程,我一开始兴趣盎然,但是看到使用的环境是 Java 8 的时候心就凉了一半,在询问老师的意见之后决定使用现在比较常用的Android Studio完成学习,特此记录自学之路 ...

  9. [转]尚学堂科技 - 马士兵老师-JAVA自学之路

    [原创 - 尚学堂科技 - 马士兵老师] JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同 ...

最新文章

  1. 自动配置IPv4问题
  2. 避免神经网络过拟合的5种技术
  3. 发布webservice之后调用不通
  4. 查看文件大小du -sh ./ ll -h
  5. php 写入sql server,php将图片直接写入SQLServer2008
  6. 继续推荐几款VisualStudio的插件
  7. 免费的文本分析 文本挖掘软件工具(第一部分)
  8. (附源码)php新闻发布平台 毕业设计 141646
  9. Android入门(二)
  10. 优化问题-目标函数确定
  11. 路由交换技术之代理ARP
  12. 概述知识图谱在人工智能中的应用
  13. iphone 6s耗电问题
  14. 【leetcode】592.分数加减运算(python)
  15. K-means原理与算法改进及其python实现
  16. 从Vue2到Vue3的差别学习升级
  17. 怎样免费翻译整篇英文Word文档
  18. Metasploit对目标主机SSH爆破
  19. 金蝶web前端一面(已挂
  20. 深度剖析-企业微信和个人微信的7个区别

热门文章

  1. 参加第13届全国男性健康日活动有感
  2. 耐用的蓝牙耳机排行榜,平价好用蓝牙耳机推荐
  3. 红蓝对抗可能面试题 -安全工程师面试常见问题
  4. idea java程序员必备 代码检测工具
  5. 在微信菜单中采用重定向获取用户数据
  6. 马原(2023版)第一章第一节笔记
  7. 【网络】数据链路层-以太网协议
  8. android 4.0 打开gps,Android获取定位权限,手动打开GPS
  9. 3704对象关闭时_运行时出现了“对象关闭时不允许操作”实时错误3704,请问大家怎么改呢?...
  10. dbf格式java解析_java解析dbf文件