嵌入式爱好者

LS1046A无网络节点排查思路

2024-7-31 10:13| 发布者: gggfff| 查看: 86| 评论: 0

类目: 知识库  >  LS1012A/LS1043A/LS1046A系列产品     文档编号: 1471

问题背景:有LS1046A开发板的客户反馈在系统中找不到fm1-mac10的网络节点,ifconfig -a也看不到,但是经过排查最底层设备树中已注册该节点并且相应PHY芯片设备注册也正常,后来查看环境变量是因为该节点没有分配到mac地址导致的,下面是整个排查思路,后续ls系列遇到类似问题或者其他平台也可参考
1.在uboot阶段中执行printenv查看环境变量,查看在mdio总线上注册的网卡设备以及被分配到的mac地址。

注册设备的代码具体位置在:

OK10xx-linux-fs/flexbuild/packages/firmware/OK10xx-linux-uboot/board/freescale/ls1046ardb/eth.c(下面截图是注册万兆光口的部分代码,底板SGMII等网卡的注册在此部分代码的下面几行位置,在uboot阶段当mdio总线扫描到有几个网卡设备注册就会分配几个mac地址如第一张截图)

2. 在客户开发板的内核阶段使用dmesg命令查看打印信息时:

通过查找设备树文件(fsl-ok1046a-1133-5a59-c2.dts)中的时钟基地址:“f2000”查看到内核打印信息显示万兆网口mac10没有分配到mac地址。所以才导致您ifconfig -a都看不到fm1-mac10的节点

内核阶段如何给这些网卡设备分配mac地址在源码的位置在:

OK10xx-linux-fs/flexbuild/packages/linux/linux/drivers/net/ethernet/freescale/fman/mac.c(具体行数在726-733行,851-868行,有兴趣可以自行研究这里不做过多解释)

3、应用到的解决方法:

按此顺序顺延fm1-mac10eth5addr

uboot阶段中直接手动给fm1-mac10分配mac地址:

4、执行完毕后运行saveenv保存环境变量,reset或者断电重启查看已有fm1-mac10网络节点


已解决

未解决

只是看看

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-22 11:51

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部