newifi mini将led指示灯引出当gpio使用

之前买了个newifi mini的路由器,CPU是mt7620a的,有7个led指示灯。现在想要把控制led灯的gpio引出来,方便其他驱动或应用的开发。

一、硬件部分

1、联想路由

newifi mini将led指示灯引出当gpio使用

现在想要把USB、5G、LAN、INTERNET这四个指示灯引出,原本是打算把WAN指示灯也引出来的,但是WAN指示灯没有被当作普通的gpio使用,所以没办法引出(引出了也没法当作gpio使用)。

2、将路由器拆开,去掉这四个led灯,以及对应的电容(如果不去掉,会影响i2c通讯),并将四个led灯对应的测试点连接杜邦线引出,认真观察电路板可以看出。另外也多引出一条电源线,也就是led灯的正极。

newifi mini将led指示灯引出当gpio使用

二、软件部分

1、进入/target/linux/ramips/dts/Y1.dts,修改如下

/dts-v1/;

/include/ "Y1.dtsi"

/ {
compatible = "lenovo,Y1", "ralink,mt7620a-soc";
model = "Lenovo Y1"; ethernet@ {
pinctrl-names = "default";
pinctrl- = <&ephy_pins>;
mtd-mac-address = <&factory 0x4>;
ralink,port-map = "llllw";
}; gpio-leds {
compatible = "gpio-leds";
power1 {
label = "lenovo:blue:power";
gpios = <&gpio0 >;
};
wlan1 {
label = "lenovo:blue:wifi";
gpios = <&gpio3 >;
};
};
};

2、编译,重新烧写固件。

三、测试

1、四个led灯对应的gpio如下:

USB:gpio52

5G:gpio50

LAN:gpio55

INTERNET:gpio51

2、依次输入如下

root@OpenWrt:/sys/class/gpio# echo  > export
root@OpenWrt:/sys/class/gpio# echo > export
root@OpenWrt:/sys/class/gpio# echo > export
root@OpenWrt:/sys/class/gpio# echo > export

3、将引出来的四个gpio外接led灯,依次输入如下,并观察哪盏led灯亮起:

root@OpenWrt:/sys/class/gpio# echo out >gpio50/direction
root@OpenWrt:/sys/class/gpio# echo out >gpio51/direction
root@OpenWrt:/sys/class/gpio# echo out >gpio52/direction
root@OpenWrt:/sys/class/gpio# echo out >gpio55/direction

就可以知道哪个引线对应哪个gpio。

上一篇:《大巧不工 web前端设计修炼之道》学习笔记


下一篇:记录Js动态加载页面.append、html、appendChild、repend添加元素节点不生效以及解决办法