我有一个使用 i.M6ULL 的设计。我需要它的两个以太网接口 (FEC1 + FEC2)。在我的板上,两个 FEC 都连接到 LAN8720A PHY。FEC1 具有 MDIO 地址为 0 的 PHY,FEC2 具有 MDIO 地址为 1 的 PHY。该设备正在运行 Linux。
我现在面临的问题是上电后只有一个以太网接口在运行。重启后(使用命令或重置按钮,而不是重启)两个接口都可以毫无问题地使用。详情如下
有人有类似的问题吗?请帮忙。
最好的问候,
亚当
1)设备树中的配置:
&fec1 {
pinctrl-名称=“默认”;
pinctrl-0 = <&pinctrl_enet1>;
phy-mode = "rmii";
phy-handle = <ðphy0>;
状态=“好的”;
};
&fec2 {
pinctrl-名称=“默认”;
pinctrl-0 = <&pinctrl_enet2>, <&pinctrl_enet2_mdio>;
phy-mode = "rmii";
phy-handle = <ðphy1>;
状态=“好的”;
音频 {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: 以太网-phy@0 {
注册 = <0>;
};
ethphy1: 以太网-phy@1 {
注册 = <1>;
};
};
};
2) 上电后的状态——只有eth0在工作。控制台说:
起始网络:fec 2188000.ethernet eth1:无法连接到 phy
ip: SIOCSIFFLAGS: 没有这样的设备
SMSC LAN8710/LAN8720 20b4000.ethernet-1:01:附加的 PHY 驱动程序 [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=20b4000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: 链路未就绪
(...)
fec 20b4000.ethernet eth0:链路已启动 - 100Mbps/全 - 流量控制 rx/tx
IPv6:ADDRCONF(NETDEV_CHANGE):eth0:链接准备就绪
但是,两个 PHY 都处于活动状态,mii-diag 可以看到它们(两者都已连接并且自动协商已完成):
# mii-diag -p0
使用默认接口“eth0”。
使用指定的 MII PHY 索引 0。
MII PHY #0 的基本寄存器:3100 7829 0007 c0f1 01e1 41e1 0003 ffff。
自动协商的能力是 01e0。
自动协商的媒体类型是 100baseTx-FD。
基本模式控制寄存器 0x3100:启用自动协商。
基本模式状态寄存器 0x7829 ... 782d。
链接状态:之前断开,现在重新建立。
您的链路合作伙伴通告 41e1:100baseTx-FD 100baseTx 10baseT-FD 10baseT。
收发器基本信息结束。
# mii-diag -p1
使用默认接口“eth0”。
使用指定的 MII PHY 索引 1。
MII PHY #1 的基本寄存器:3100 782d 0007 c0f1 05e1 cde1 0009 ffff。
自动协商的能力是 01e0。
自动协商的媒体类型是 100baseTx-FD。
基本模式控制寄存器 0x3100:启用自动协商。
你有链接节拍,一切正常。
您的链接合作伙伴公布了 cde1:流量控制 100baseTx-FD 100baseTx 10baseT-FD 10baseT,带 802.3X 流量控制。
收发器基本信息结束。
3) 重启后的状态(来自控制台的命令或按下重置按钮,未重启)——eth0 和 eth1 都在工作。控制台说:
起始网络:SMSC LAN8710/LAN8720 20b4000.ethernet-1:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=20b4000.ethernet-1:00, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth1: 链路未就绪
SMSC LAN8710/LAN8720 20b4000.ethernet-1:01:附加的 PHY 驱动程序 [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=20b4000.ethernet-1:01, irq=POLL)
IPv6: ADDRCONF(NETDEV_UP): eth0: 链路未就绪
(...)
fec 2188000.ethernet eth1:链接已启动 - 100Mbps/Full - 流量控制关闭
IPv6:ADDRCONF(NETDEV_CHANGE):eth1:链接准备就绪
fec 20b4000.ethernet eth0:链路已启动 - 100Mbps/全 - 流量控制 rx/tx
IPv6:ADDRCONF(NETDEV_CHANGE):eth0:链接准备就绪