1、网口实例化的要求:
MDIO能够读取到PHY ID
网口有输入输出随路时钟
外挂的PHY 有驱动,或者支持标准PHY驱动
正对上面问题现象:
1、 MDIO总线读取不到任何数据
现象:ifconfig 和ifconfig -a均没有网卡实例化
2、MDIO总线读取到PHY ID 但是没有对于驱动,以及没有时钟
由于当前网卡已经完成调试了,在图中打马赛克的默认为0即可。
调用网口命令:ifconfig 等网络命令会卡死,以及DMA繁忙命令
强制网口LINK UP 失败。
3、网口有输入输出随路时钟
能够看到网口完成ink up 但是网口没有RUNNING,测试现象为:CPU对外的没有数据包,不管是外设接口上,或者硬件波形上均没有
4、外挂的PHY 有驱动,或者支持标准PHY驱动
网口功能正常,数据收发正常。
对于ifconfig 读取到命令的分析:
enaphyt4i0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
-
enaphyt4i0
: 网络接口名称 -
flags=4163
: 接口的状态标志(十六进制值),转换为二进制后包含以下状态: -
硬件状态标识:
-
使用
ifconfig enaphyt4i0 down
后,UP
标志消失。 -
通过
ifconfig enaphyt4i0 up
或系统自动启用后,会显示UP
。
-
-
接口方式:
-
默认显示
BROADCAST
,因为以太网需要广播 -
如 PPP可能不显示
BROADCAST,
(如lo
回环) -
通常无广播功能,不显示此标志。
-
- 网口状态表示
-
物理连接正常:网线插入或无线连接成功时显示
RUNNING
。 -
物理断开:拔掉网线或无线断开后,
RUNNING
标志消失。 -
虚拟接口(如
lo
):通常无RUNNING
标志,因为不需要物理连接。
-
PS:RUNNING
依赖 UP
。如果接口未启用(无 UP
),即使网线连接也不会显示 RUNNING
。
-
mtu 1500
: 最大传输单元(Maximum Transmission Unit),表示单个数据包的最大字节数(以太网默认值)。