前言:
移植AR9341到开发板上,64M RAM, 8M ROM, 工作内容就是系统能跑起来,最好无线性能好,但是这个真的不是我的目前能搞定的。
开始:
从openwrt trunk上下载最新正在开发的trunk,但是编译还是遇到问题(之前编译的mt7620n),改编AR9341后编译出来的结果并不理想。有很多WR841N的版本
1, 1.1,3,5,7 唯独没有我想要的v8。无奈之下只好求救于各种论坛,讨论群,可是仍然没有发现。最后是在openwrt 的主页上找到了wiki.openwrt.org找到了这个版本的开发turnk是12.09,也就是那个时候知道原来openwrt还有这么多的trunk啊,顺便了解了下其发展史。
问题接踵而至:
在搞定led灯,系统划分vlan之后,进一步需要做的就是reset按钮总是不工作。在attitude adjustment的最新内核为3.3.8 , 试着修改了很多很多的代码,虽然我仍然不知道GPIO驱动的具体工作流程(需要继续学习的项目)。只是从设备注册哪点查起,cat /sys/kernel/debug/gpio这个文件看看注册的gpio号与描述符,问题很难搞啊,关键是从官网上下载的也不行,也试了很多网上流传的修改网口的方法,仍然无解。
索性,切换最新开发的trunk,总感觉最新的trunk应该不会剔除已存在的板子,而且发现思联科技用的也是3.10.29的内核版本,这也让我有切回去的冲动,我也尝试过移植内核3.10.49到attitude adjustment上,但是patch的时候出现了错误,好吧,就这也修改吧。
解决方案
切回开发trunk,查找编译不出固件的原因为,固件的大小。
更改fw_max_len即可解决这个问题,至此此问题结束。
拓展
GPIO系统架构学习,RESET按钮的整个流程的分析学习,OpenWrt生产固件学习
OpenWrt 系统定制WR841N Reset Button不工作