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.

[参考译文] AM62L:AM62L:[DP83822] AM62L 定制电路板上的链路速度下降和通信故障

Guru**** 2648075 points

Other Parts Discussed in Thread: AM62L

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1571666/am62l-am62l-dp83822-link-speed-downshift-and-communication-failure-on-am62l-custom-board

器件型号: AM62L

工具/软件:

您好支持团队:

我们正在开发基于 AM62L 的定制电路板。
此电路板使用 DP83822 以太网 PHY、在 PHY 地址=9 时识别、并使用 TI DP83822 驱动程序运行。

[ 3.787182] davinci_mdio 8000f00.mdio: phy[9]: device 8000f00.mdio:09, driver TI DP83822

问题

当 AM62L 定制电路板和 Windows PC 通过 LAN 连接时、通信有时会失败。

通常、链路以 100Mbps/全速启动、并且与 Windows PC 的通信工作正常:

[ 6170.238949] ... eth0: Link is Up - 100Mbps/Full - flow control rx/tx

在这种状态下、ping 工作正常。

但是、有时会出现以下消息、并且链路速度会降至 10Mbps/半:

[ 6173.776236] TI DP83822 8000f00.mdio:09: Downshift occurred from negotiated speed 100Mbps to actual speed 10Mbps, check cabling!
[ 6174.048950] ... eth0: Link is Up - 10Mbps/Half - flow control off

在此状态下、与 Windows PC 的通信失败(无 ping 响应)。

CAT6 和 CAT6A 电缆都出现此问题、这是在使用任一类型的电缆时观察到的。

验证

我们确认 AM62L 和 Windows PC 均设置为 100Mbps/全速 (无论是否发生下移至 10Mbps/half)。

  • AM62L 端:
root@custom_board:~# ethtool eth0 | grep -iE "speed|duplex" 
    Speed: 100Mb/s 
    Duplex: Full
  • Windows PC 端:
PS C:\Users\user> Get-NetAdapter | Select-Object Status, LinkSpeed, FullDuplex
Status       LinkSpeed FullDuplex
------       --------- ----------
Up           100 Mbps        True

问题

  • 这种行为的可能原因是什么?

感谢您的支持。

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

    请问是否有任何关于这个问题的更新?

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

    您好、

    是否应用了降档测试条件? 或者降档是否是测试系统所采取的操作? 是否在链路伙伴上应用了下移?

    此致、

    Schuyler

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

    感谢您的答复。

    >是否应用降档测试条件? 或者降档是否是测试系统所采取的操作?  
    我不确定我是否完全理解您的问题、但您是否在询问是否在我的环境中有意触发降档?
    降档不是故意造成的—没有应用测试条件或速度限制。
    它在 LAN 电缆连接且链路接通时自动发生。

    >链路伙伴是否应用降档?
    我连接了  定制电路板 (AM62L + DP83822)  而不是  AM62L-EVM (AM62L + DP83867)  测试用例。
    上出现降档时  定制板 、  EVM   不 会发生降档。
    有趣的是、在某些情况下、也有  EVM  自身经历了降档、而  定制板  不。
    (在这种情况下,通信失败。)  

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

    您好、  

    应在 Linux 控制台上报告链路降档。 回退到 10Mbps 半双工表示 PHY 的自动协商序列失败。 这本质上是 PHY 回退的速度。 当处于 10Mbps 半速时、两个链路伙伴是否报告相同的速度?

    您能否附上 ethtool -S eth0 的结果? 或报告错误的部分。 附加(不剪切和粘贴)控制台日志也很有帮助。 这是定制板还是 TI EVM?

    此致、

    Schuyler

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

    您好、

    >当速度为 10Mbps 时、两个链路伙伴是否报告相同的速度?
    否、链路伙伴不报告 10Mbps/半速。

    >您能否附上结果ethtool -S eth0
    以下是ethtool -S eth0在三种条件下获取的输出:(1) 链路断开时、(2) 在以 100Mbps/全速(无降频)建立链路后、以及 (3) 发生降频后、报告 10Mbps/半。
    (1)
    e2e.ti.com/.../ethtool_5F00_custom_2D00_board_5F00_linkdown.txt
    (2)
    e2e.ti.com/.../ethtool_5F00_custom_2D00_board_5F00_linkup_5F00_100Mbps.txt
    (3)
    e2e.ti.com/.../ethtool_5F00_custom_2D00_board_5F00_linkup_5F00_10Mbps_5F00_downshift_5F00_occured.txt

    >附加(不剪切和粘贴)控制台日志也很有帮助。
    抱歉、由于这是正在开发的定制电路板、因此无法提供原始控制台日志。
    我将附加的输出dmesg | grep -iE "cpsw-nuss|mdio|eth0|phy"。 请查看、如果您需要任何其他信息、请告诉我。

    >这是定制电路板还是 TI EVM?
    它是定制电路板。 (但是,如前所述,TI EVM 上也会出现同样的现象。)

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

    您好、

    我看不到 dmesg 附件。 感谢您从接口附加硬件统计信息。 我在外部端口上没有看到任何 CRC 错误或错误。 由于这是 TI PHY、我将要求支持 PHY 的团队提供建议。

    我在引导日志中查找的是随着速度降档而出现的任何链路断开消息。 如果 PHY 报告链路速度变化、则可能与 PHY 相关。  

    此致、

    Schuyler

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

    您好、  

    我支持 TI PHY。 您用于进行此连接的电缆长度是多少?

    此致、
    j

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

    您好、

    >我看不到 dmesg 附件。
    抱歉、这里是 dmesg。
    e2e.ti.com/.../4214.dmesg.log

    >我支持 TI PHY。 您用于进行此连接的电缆长度是多少?
    我使用 1 米 Cat6A 电缆和 50 厘米 Cat6 电缆。  

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

    您好、  

    感谢您包含 dmesg 日志。 查看日志后,我看到一条关于链接停止的消息 :

    [   71.039725] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    [  107.916634] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [  111.406319] TI DP83822 8000f00.mdio:09: Downshift occurred from negotiated speed 100Mbps to actual speed 10Mbps, check cabling!
    [  111.679195] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 10Mbps/Half - flow control off

    是否在 107.9 之间断开并重新连接了电缆。 秒和 111.4.. 秒? 该端口上的哪根电缆为 1 米或 50 厘米?  

    另一个问题是 eth0 中的链路伙伴是什么? Windows PC?

    此致、

    Schuyler

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

    您好、

    有意思。 您是否尝试过将寄存器 0 的位 9 设置为高电平来重新启动自动协商? 如果这是自动协商问题、将会解决此问题。

    此外、您是否可以共享 0x00 至 0x1F 的寄存器转储?

    我们想知道 15h 的 RX 错误计数是否增加、或者 PHY 中是否标记了任何其他问题。

    此致、

    j

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

    您好、

    >电缆是否断开并在 107.9 之间重新连接。 秒和 111.4.. 秒?
    是的、是这样。

    >端口上的电缆是 1 米还是 50 厘米?
    该日志是使用 50cm 电缆绘制的。

    >另一个问题是 eth0 中的链路伙伴是什么? Windows PC?
    是的、这是一台 Windows PC。

    >是否已尝试通过将寄存器 0 的第 9 位设置为高电平来重新启动自动协商? 如果这是自动协商问题、将会解决此问题。
    我以前没有试过。 我刚才做了、它成功地以 100Mbps/full 的速度重新连接、通信现在可以正常工作。

     185.046523] TI DP83822 8000f00.mdio:09: Downshift occurred from negotiated speed 100Mbps to actual speed 10Mbps, check cabling!
    [  185.319323] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 10Mbps/Half - flow control off
    root@custom_board:~# mdio 8000f00.mdio 0x09 0x0000
    0x3100
    root@custom_board:~# mdio 8000f00.mdio 0x09 0x0000 0x3300
    root@custom_board:~# [  278.610406] am65-cpsw-nuss 8000000.ethernet eth0: Link is Down
    [  281.220981] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    root@custom_board:~# ping 192.168.2.185
    PING 192.168.2.185 (192.168.2.185): 56 data bytes
    64 bytes from 192.168.2.185: seq=0 ttl=128 time=1.415 ms
    64 bytes from 192.168.2.185: seq=1 ttl=128 time=1.007 ms
    64 bytes from 192.168.2.185: seq=2 ttl=128 time=0.683 ms
    ^C
    --- 192.168.2.185 ping statistics ---
    3 packets transmitted, 3 packets received, 0% packet loss
    round-trip min/avg/max = 0.683/1.035/1.415 ms

    >此外、您是否可以将 0x00 到 0x1F 的寄存器转储共享?
    以下是每种情况下的寄存器转储日志:
    (1) 链路断开期间、
    (2) 降档发生后、和
    (3) 重新启动自动协商后、链路以 100Mbps/全速建立。

    (1)
    e2e.ti.com/.../register_2D00_dump_5F00_custom_2D00_board_5F00_linkdown.txt
    (2)
    e2e.ti.com/.../register_2D00_dump_5F00_custom_2D00_board_5F00_linkup_5F00_10Mbps_5F00_downshift_5F00_occured.txt
    (3)
    e2e.ti.com/.../register_2D00_dump_5F00_custom_2D00_board_5F00_linkup_5F00_100Mbps_5F00_Auto_2D00_Neg_5F00_restarted.txt

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

    Hi Kawashima-San、  

    感谢您查看此日志。 PHY 似乎没有在检测到任何可能导致链路降档的符号错误。  
    基于重启自动协商的效果、这似乎可能是由于电缆短路问题导致的自动协商失败。 此问题是否发生在长电缆上 (>1m)?

    此外、此问题发生的频率如何?


    此致、
    j

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

    尊敬的 J:

    感谢您的分析。

    > PHY 似乎没有检测到任何可能导致链路降档的符号错误。
    从该结果中、我们可以将哪些部分排除为可能的根本原因?
    我想了解哪个领域最有可能对这个问题负责。

    >此问题在长电缆 (>1m 之前是否发生?
    我使用 1.8m CAT5E 电缆进行了测试、并观察到第 10 个插拔周期出现了下降。
    当我使用的 CAT5E 电缆长度超过 10m 时、我执行了大约 50 个插拔循环、并且没有发生降频。
    因此、电缆长度似乎会产生影响。
    但是、由于我们的大多数客户使用 1m 左右的电缆、因此建议使用超过 10m 的电缆不是一种实用的权变措施。

    >此外、此问题发生的频率如何?
    该问题大约每 15 个插拔周期发生一次、但并不一致、有时是第一次尝试时、有时是在尝试 30 次之后。

    顺便说一下、AM62L EVM 上也会出现此现象、因此您应该也能够在那里重现此现象。
    您能否尝试重现您这边的问题以帮助缩小原因是硬件还是软件相关(例如 RJ45、PHY、Linux 驱动程序等)?

    此致、
    川岛市

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    > PHY 似乎没有检测到任何可能导致链接降档的符号错误。
    从该结果中、我们可以将哪些部分排除为可能的根本原因?
    我想了解哪个领域最有可能对此问题负责。

    我们可以排除由于 过多符号错误而丢弃的链路。  
    您还能否在发生降档之前检查寄存器 0x218? 该寄存器会记录链路质量。

    遗憾的是、我的团队没有 AM62L EVM、因此我尝试使用两个 822 EVM 重新创建问题 、因为如果这是与 PHY 相关的问题、就会出现该问题。 但是、我没有看到 PHY 的链路在硬件端下降到 10M。 此外、我看到 PHY 状态寄存器 (0x10) 即使在发生向下移位后也不报告 10M 链路(寄存器读数为 0h'XXX5、这意味着链路为 100M 全双工)。  

    基于此、我认为这不是与 PHY MDI 侧或 RJ45 相关的问题。  

    定制电路板上 AM62L 和 DP83822 之间的 MAC 连接是什么? 是 RGMII、您是否一直使用延迟模式或移位模式?
    由于 RGMII 速度会根据 MDI 链路速度变化、因此如果 RGMII 不正确计时、链路也可能会下移。  

    此致、
    j


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

    感谢您的调查。 我知道 PHY 或 RJ45 硬件没有问题。

    >定制电路板上 AM62L 与 DP83822 之间的 MAC 连接是什么?
    我们使用的是 RMII。

    定制电路板使用 TI 的 Linux-RT-SDK 来构建映像。 进一步调查显示、SDK 版本会影响问题的发生:

    • 我们当前使用的 SDK 版本 (11.00.15.05):LAN 电缆插入/移除问题重现

    • 最新 SDK 版本 (11.01.16.13):在相同条件下不会发生问题(测试次数~100 次)

    您能否告诉我、此更新中是否包含任何与以太网相关的修复程序、以及是否有任何更改会影响我们观察到的问题?

    此致、
    川岛市

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

    Hi Kawashima-San、  

    找不到您提到的 SDK 版本。 但是、在 11.00 到 11.01 之间、我们没有发现以太网驱动程序发生变化。 Sitara 团队可以对此变更进行评论。  

    此致、
    j

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

    您好、

    > Sitara 团队可以评论他们的变化。  
    我可以询问 Sitara 团队是否有关于此问题的任何更新或其他信息吗?

    此致、
    川岛市

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

    您好、
    只需检查 Sitara 团队是否有关于此问题的任何更新。
    此致、
    川岛市

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

    您好、

    释放内核时不会维护更改列表。 我查看了最新的内核发行说明、但没有看到有关减速换档的信息。 关于以太网接口被关闭而另一个端口无法获取 IP 地址、有一个解决方案。

    https://sir.ext.ti.com/jira/browse/EXT_EP-12780

    最新版本的 SDK 不显示该问题、您打算转到该 SDK 吗?

    如何测试电缆插入和移除操作?  

    此致、

    Schuyler

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

    您好、

    感谢您的答复。
    将补丁应用到我们当前使用的 SDK 后、问题似乎已解决。
    因此、我们计划使用最新的 SDK 继续进行开发。

    此致、
    川岛市