本帖最后由 disorder 于 2015-10-28 10:54 编辑
有了WRTnode2R以后,开机遇到一个大问题,就是核心板和底板上的wled指示灯只要连上了wifi就会不停的闪,亮度还不低,相当刺眼。同时WRTnode2R系统中并没有引出这个LED,也无法对其进行控制。
如何让这个LED可以被我们控制呢,可以通过修改DTS实现,但是由于官方发布的sdk中对MT7628/7688的管脚定义有较多错误,仅仅修改DTS无法成功。最近openwrt trunk对管脚定义有了不少修正,wrtnode方面已经更新了sdk,位于
https://github.com/wrtnode-sdk/openwrt
- git clone https://github.com/wrtnode-sdk/openwrt.git
复制代码
通过以上语句获取源代码,同时对其中的两个文件进行编辑
对target/linux/ramips/patches-3.18/0300-mt7628_fixes.patch进行编辑
找到
- static struct rt2880_pmx_func wled_an_grp_mt7628[] = {
- + FUNC("rsvd", 3, 35, 1),
- + FUNC("rsvd", 2, 35, 1),
- + FUNC("gpio", 1, 35, 1),
- + FUNC("wled_an", 0, 35, 1),
复制代码
将35修改为44
- + FUNC("rsvd", 3, 44, 1),
- + FUNC("rsvd", 2, 44, 1),
- + FUNC("gpio", 1, 44, 1),
- + FUNC("wled_an", 0, 44, 1),
复制代码
这是对wled管脚的定义错误
然后就可以修改dts
对target/linux/ramips/dts/WRTNODE2R.dts b/target/linux/ramips/dts/WRTNODE2R.dts进行编辑
找到
- pinctrl {
- state_default: pinctrl0 {
- gpio {
- ralink,group = "i2c", "gpio";
复制代码
在其中增加wled_an
- ralink,group = "i2c", "gpio", "wled_an";
复制代码
修改完成后进行编译,编译的方法已有较多帖子提及,此处不做赘述
编译完成后刷入,重启后是不是不再闪了?
0
|