This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DP83869HM:在下游 PHY 中建立链路

Guru**** 2559970 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1569480/dp83869hm-establish-link-in-the-downstream-phy

器件型号:DP83869HM
主题:DP83869 中讨论的其他器件

工具/软件:


&main_cpsw0{
状态=“正常“;
};

&main_cpsw0_mdio{
状态=“正常“;
pinctrl-names =“default";“;
pinctrl-0 =<&main_cpsw9x1_mdio_pins_default>;
pinctrl-1 =<&MAIN_PMX_gpio_vddshv20_pins_default>;  

 

/* DP83869 桥接 PHY — 连接到 CPSW SGMII 端口*/
bridge_phy:Ethernet-phy@3{
reg =<3>;// DP83869 地址
};

 

/* ADIN1100 — 通过 RGMII 连接到 DP83869 桥接器*/
adin1100:Ethernet-phy@0{
REG =<0>; // ADIN1100、在 DP83869 后面
PHY-MODE =“RGMIG";“;
};

 

};

&main_cpsw0_port5{
状态=“正常“;
PHY-MODE =“SGMII";“;
PHY-handle =<&adin1100>;
Phys =<&cpsw0_phy_gmii_sel 5>、<&serdes2_sgmii_link>;
PHY-NAMES =“MAC",“,"SerDes、"SerDes "“ ";“;

};


Doredla Sudheer Kumar 

上面是我用于启动 adin1100 以建立链路状态的 DTS 节点、但输出如下所示




但如果我连接了 ADIN1300、则不使用 ADIN1100、输出如下所示。





它显示链路已接通、但未弹出 IP 地址。

您能解释一下这里发生了什么吗?


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、  

    奇怪的是、当 ethtool 表示链路断开时、ifconfig 显示链路为接通状态。 似乎 Linux 被误解了。 对于 ADIN1300、您正在获取 IPv6 IP 地址、因此网络似乎没有使用 IPv4 地址。  

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如何将 IP 地址设置为 IPv4。

    此致、  

    Kowshika.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我对此有另一个疑问是,为什么即使我连接 ADIN1300 作为下游 PHY 和它的链路状态是肯定的,但为什么它没有传播到 MAC 端。

    DP83869 或 MAC 侧是否有任何问题。 如何进一步调试?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    一旦界面弹出右侧、ifconfig 将显示链路为 up。


    它是否与 ethtool 中的链路状态有关?


    此致、
    Kowshika.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kowshika:  

    您可以为设备设置永久 IPv4 地址。  
    可以实现  
    ip 地址 add 差 //添加 IP 地址
    IP 路由添加默认通过 //添加默认路由、以便可以传输数据包

    请注意、这只会添加当前引导的 IP 地址。 电路板下电上电后、必须再次执行此操作。  

    您可以控制 RGMII 延迟、看看这样是否有任何改善。 这可能是 RGMII 时序问题、  

    您在 ethtool 中讨论的链路状态是什么?
    ifconfig 展示了链路的总体状态、ethtool 应反映这一点。  

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IP route add default via [/报价]




    面临此错误。

    eth1:flags=4163  MTU 1500

    我所说的是、每当弹出接口时、就应该显示正确的向上状态。 或者说、这是什么意思?

    您在 ethtool 中讨论的链接状态是什么?
    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kowshika:  

    向上标志表示接口正在运行、不一定是链路已启动。  

    如果 Linux 可以 自行解析路由、则不必添加路由。  

    是否可以在没有默认路由的情况下 ping 通?

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当我尝试 ping 以下地址时、我得到了以下结果您能否确认您是否询问相同的问题、

    root@j784s4-evm:/opt/edgeai-gst-apps ifconfig
    eth1:flags=4163 MTU 1500
    iNet 192.168.72.10 网络掩码 255.255.255.255 广播 0.0.0.0
    inet6 fe80::985f:60ff:fe76:eb31 prefixlen 64 scoeid 0x20
    以太网 9a:5F:60:76:EB:31 txqueueelen 1000(以太网)
    RX 数据包 0 字节 0 (0.0 B)
    RX 错误 0 丢弃 0 溢出 0 帧 0
    TX 数据包 0 字节 0 (0.0 B)
    TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0

    Lo:旗帜=73 MTU 65536
    INET 127.0.0.1 网络掩码 255.0.0.0
    inet6 :: 1 prefixlen 128 scopeid 0x10
    loop txqueueelen 1000(本地环回)
    RX 数据包 92 字节 7654 (7.4KiB)
    RX 错误 0 丢弃 0 溢出 0 帧 0
    TX 数据包 92 字节 7654 (7.4KiB)
    TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0

    root@j784s4-evm:/opt/edgeai-gst-apps ping 127.0.0.1
    Ping 127.0.0.1 (127.0.0.1):56 个数据字节
    64 字节(来自 127.0.0.1):seq=0 TTL=64 时间=0.108 ms
    64 字节(来自 127.0.0.1):seq=1 TTL =64 时间=0.046 ms
    64 字节(来自 127.0.0.1):seq=2 TTL=64 时间=0.029 ms
    [ 280.223820] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:268412 dql_avail:–90 free_desc:515
    64 字节(从 127.0.0.1 开始):seq=3 TTL=64 time=0.039 ms
    64 字节(来自 127.0.0.1):seq=4 TTL=64 时间=0.029 ms
    64 字节(来自 127.0.0.1):seq=5 TTL=64 时间=0.027 ms
    ^C
    -–127.0.0.1 ping 统计-----
    发送 6 个数据包、接收 6 个数据包、0%的数据包丢失
    往返最小值/平均值/最大值= 0.027/0.046/0.108ms

    root@j784s4-evm:/opt/edgeai-gst-apps ping 192.168.72.10
    Ping 192.168.72.10 (192.168.72.10):56 个数据字节
    来自 192.168.72.10 的 64 字节:seq=0 TTL=64 time=0.097ms
    来自 192.168.72.10 的 64 字节:seq=1 TTL=64 time=0.039ms
    来自 192.168.72.10 的 64 字节:seq=2 TTL=64 time=0.030 ms
    来自 192.168.72.10 的 64 字节:seq=3 TTL=64 time=0.026 ms
    [312.223821] am65-cpsw-nuss c000000.ethernet eth1:TxQ:0 DRV_XOFF:0 TMO:300412 dql_avail:–90 free_desc:515
    来自 192.168.72.10 的 64 字节:seq=4 TTL=64 time=0.039 ms
    来自 192.168.72.10 的 64 字节:seq=5 TTL=64 time=0.027 ms
    ^C
    -–192.168.72.10 ping 统计信息-----
    发送 6 个数据包、接收 6 个数据包、0%的数据包丢失
    往返最小值/平均值/最大值= 0.026/0.043/0.097ms

    root@j784s4-evm:/opt/edgeai-gst-apps IP route
    root@j784s4-evm:/opt/edgeai-gst-apps

    此致、
    Kowshika.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kowshika:  

    我明白了。  

    您可以尝试以下 DTS:

    &main_cpsw0_mdio{
    状态=“正常“;
    pinctrl-names =“default";“;
    pinctrl-0 =<&main_cpsw9x1_mdio_pins_default>;
    pinctrl-1 =<&MAIN_PMX_gpio_vddshv20_pins_default>;  

     

    /* DP83869 桥接 PHY — 连接到 CPSW SGMII 端口*/
    bridge_phy:Ethernet-phy@3{
    reg =<3>;// DP83869 地址
    };

     

    /* ADIN1100 — 通过 RGMII 连接到 DP83869 桥接器*/
    adin1100:Ethernet-phy@0{
    REG =<0>; // ADIN1100、在 DP83869 后面
    PHY-MODE =“RGMIG";“;
    };

     

    };

    &main_cpsw0_port5{
    状态=“正常“;
    PHY-MODE =“SGMII";“;
    PHY-handle =<&dp83869>;
        托管=“带内状态:
    Phys =<&cpsw0_phy_gmii_sel 5>、<&serdes2_sgmii_link>;
    PHY-NAMES =“MAC",“,"SerDes、"SerDes "“ ";“;

    此致、
    j

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于上述 DTS、我得到了以下输出:

    root@j784s4-evm:/opt/edgeai-gst-apps # dmesg | grep cpsw

    [1.347180] am65-cpsw-nuss 460000.ethernet:初始化 am65 cpsw Nuss 版本 0x6BA02102、cpsw 版本 0x6BA82102 端口:2 quirks:00000000

    [ 1.360040] am65-cpsw-Nuss 460000.ethernet:初始化的 cpsw ale 版本 1.4

    [ 1.367247] am65-cpsw-Nuss 460000.Ethernet: ALE Table Size 64

    [ 1.377563] am65-cpsw-Nuss 46000000.Ethernet:CPt ver 0x4e8a010b、freq:500000000、add_val:1 pps:1

    [1.463605] am65-cpsw-nuss c000000.ethernet:正在初始化 am65 cpsw Nuss 版本 0x6BA03102、cpsw 版本 0x6BA82902 端口:9 quirks:00000000

    [1.887190] am65-cpsw-nuss 460000.ethernet:初始化 am65 cpsw Nuss 版本 0x6BA02102、cpsw 版本 0x6BA82102 端口:2 quirks:00000000

    [1.900059] am65-cpsw-Nuss 460000.ethernet:初始化的 cpsw ale 版本 1.4

    [ 1.907266] am65-cpsw-Nuss 460000.Ethernet: ALE Table Size 64

    [1.917605] am65-cpsw-Nuss 46000000.Ethernet:CPt ver 0x4e8a010b、freq:500000000、add_val:1 pps:1

    [1.927699] am65-cpsw-Nuss 460000.Ethernet:设置新的 flow-id-base 48

    [ 2.011433] am65-cpsw-nuss c000000.ethernet:初始化 am65 cpsw Nuss 版本 0x6BA03102、cpsw 版本 0x6BA82902 端口:9 quirks:00000000

    [ 2.025292] am65-cpsw-Nuss c000000.ethernet:使用随机 MAC 地址

    [ 2.031556] am65-cpsw-nuss c000000.ethernet: initialized cpsw ale version 1.5

    [ 2.038677] am65-cpsw-Nuss c000000.Ethernet: ALE Table Size 512

    [ 2.044936] am65-cpsw-nuss c000000.ethernet:CPt ver 0x4e8a010c、freq:250000000、add_val:3pps:0

    [ 2.056288] am65-cpsw-nuss c000000.ethernet:设置新的 flow-id-base 82

    [ 7.073440] am65-cpsw-nuss c000000.Ethernet eth1:PHY [C000f00.MDIO:03]驱动程序[TI DP83869](IRQ=POLL)

    [ 7.082750] am65-cpsw-Nuss c000000.Ethernet eth1:配置带内/SGMII 链路模式

    root@j784s4-evm:/opt/edgeai-gst-apps ifconfig

    eth1:flags=4099 MTU 1500

    以太网 BA:89:36:C7:7b:C4 txqueueelen 1000(以太网)

    RX 数据包 0 字节 0 (0.0 B)

    RX 错误 0 丢弃 0 溢出 0 帧 0

    TX 数据包 0 字节 0 (0.0 B)

    TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0

    Lo:旗帜=73 MTU 65536

    INET 127.0.0.1 网络掩码 255.0.0.0

    inet6 :: 1 prefixlen 128 scopeid 0x10

    loop txqueueelen 1000(本地环回)

    RX 数据包 92 字节 7654 (7.4KiB)

    RX 错误 0 丢弃 0 溢出 0 帧 0

    TX 数据包 92 字节 7654 (7.4KiB)

    TX 错误 0 丢弃 0 溢出 0 载波 0 冲突 0

    root@j784s4-evm:/opt/edgeai-gst-apps ethtool eth1

    eth1 的设置:

    支持的端口:[ TP mii ]

    支持的链路模式:10BaseT/Half 10baseT/Full

    100BaseT/Half 100BaseT/Full

    1000BaseT/Full

    1000baseX/全

    支持的暂停帧使用:对称

    支持自动协商:可以

    支持的 FEC 模式:未报告

    广播的链路模式:10BaseT/Half 10baseT/Full

    100BaseT/Half 100BaseT/Full

    1000BaseT/Full

    1000baseX/全

    广播的暂停帧使用:对称

    广播的自动协商:是

    广播 FEC 模式:未报告

    速度:未知!

    双工:未知! (255)

    自动协商:打开

    主从配置:强制从器件

    主从状态:未知

    端口:双绞线

    PHYAD:3.

    收发器:外部

    MDI-X:未知

    支持唤醒:目录

    唤醒:D

    SecureOn 密码:00:00:00:00:00:00

    当前消息级别:0x000020f7 (8439)

    如果 rx_err TX_err 硬件、则 DRV 探头链路断开

    检测到链路:否

    root@j784s4-evm:/opt/edgeai-gst-apps


    Root@j784s4-EVM:/opt/edgeai-gst-apps phytool read eth1/0x00/0x01

    0x796d

    尽管 Adin1300 链路状态为 up、但 ethtool 会将 dp83869 显示为 down。

    这背后的原因是什么?

    此致、  
    Kowshika.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Kowshika:  

    如果您这样做了

    ethtool -s eth0 autoneg off 速度 1000 双工全速

    Linux 上的链路是否正常?

    我想这是否可能是 RGMII 延迟不匹配问题。  

    此致、
    j