板子上电插入网线到网口,只有wan口灯会亮,插入lan口灯不会亮。对比了ok的代码,先对比设备树,未看到网口相关的GPIO。
mt7628an_WMD-7688A-12816.dts
mt7628an_hilink_hlk-7628n.dts
继续查看网口相关代码,加打印,未看到有操作网口的灯。
以为swconfig这个工具在操作网口GPIO,也未看到操作网口灯。不过我们自己用swconfig是可以去手动去操作网口灯的。
对比patch目录,未看到差异。
目录为:
/openwrt/openwrt-21.02/target/linux/ramips/patches-5.4
openwrt/lede/target/linux/ramips/patches-5.4
是不是还有哪里的脚本会去操作GPIO,尝试删掉了led相关shell代码,以及对应的leds_gpio .ko
还是不行。
在lean代码编译的产品是hilink7628, 尝试在自己OK的代码编译该产品,对应的路劲为:
target/linux/ramips/image/mt76x8.mk
wuya为:
修改为一样再次编,发现现象一致,插入网线到lan口,网口灯同样不会亮。差异点还剩下,网口OK的wuya产品,多执行了ethmode wllll,设置为五网口模式。
查看代码,该指令会去设置寄存器,reg w 10000064 0x0,执行改指令后,验证了插入网线,网口灯就会亮了。亮灯的地方还会看到在哪里设置的。