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.

[参考译文] AM3358:AM3358未执行 ping 操作

Guru**** 2551110 points
Other Parts Discussed in Thread: AM3358, SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/945607/am3358-am3358-ping-not-happening

器件型号:AM3358
Thread 中讨论的其他器件: SysConfig

大家好、团队、

我们使用 AM3358开发了定制板。 在电路板中、我们使用 DP83867作为 PHY、而不是 Atheros PHY。

我们已启动电路板、发现正在协商1Gbps、但没有执行 ping 操作、

我可以在日志中看到一些 Rx Align/Code 错误、

我一直在附加我的 DTS 文件、包含 ifconfig、ethtool 等详细信息的日志文件

我还连接了布线长度。(尺寸以 mil 为单位)

从一些线程中、我可以看到我们需要使用 DTS 文件中的特定 TX-DELAY、Rx-DELAY 来解决这一问题。

请帮助我解决我的问题。

此致

Mad_hue2e.ti.com/.../8080.am335x_2D00_evm.txte2e.ti.com/.../2425.trace_5F00_lengths.txte2e.ti.com/.../3782.am3358_5F00_boot.loge2e.ti.com/.../net_5F00_length_5F00_report.pdf

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

    您好!

    感谢引导日志和 ethtool 输出。 您使用的是哪款 TI SDK?  

    首先、我建议查看 SDK 内核源树中的 DTS 器件绑定文件:

    有关时序参数的说明、请参阅 documentation/devicetree/bindings/net/ti、dp83867.txt。

    然后、我建议查看以下 DTS 文件、以获取有关如何在这些示例 DTS 文件中应用时序值的示例、同样在内核源树中:

    arch/arm/boot/dts/dra71-evm.dts

    arch/arm/boot/dts/dra72-EVM-revc.dts

    arch/arm/boot/dts/dra76-evm.dts

    我还建议使用直接连接的链路合作伙伴的 Wireshark 来查看数据包是否发出。

    此致、

    Schuyler

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

    Schuyler、您好、

    感谢您的快速响应。

    我使用的 SDK 是 ti-processor-sdk-linux-am335x-evm-06.03.00.106。

    我已经浏览了 Documentation/devicetree/bindings/snet/ti、dp83867.txt、找到了大约10-15个时序调整选项。 但问题是,我如何知道哪一种延迟对我来说是合适的。 是否有任何方法/流程来识别相应的方法/流程?

    对于 Wireshark、没有数据包从电路板传出。

    此致

    MAD_HU

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

    您好!

    我需要就时间值与团队成员协商。 目前我建议填写我上一篇文章中列出的 DTS 文件中的值。

    有人认为我注意到为什么在引导日志中列出了 eth8? eth0在哪里? 作为一个实验、以查看 Eth8标签是否导致和问题。 因此、请尝试使用 ifconfig 将 eth1取下来、就像此 ifconfig eth1下行

    eth8<<  Link encap:Ethernet HWaddr 14:42:FC:AD:6B:C3   

    此致、

    Schuyler

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

    Schuyler、您好、

    我刚刚再次检查了电路板。

    eth8 <<是 TeraTerm 软件在创建日志时捕获的错误。 它基本上仅为 eth0。

    我还尝试了降 eth1并尝试 ping、但没有成功。

    尝试延迟组合似乎是一项繁忙的任务、因为我们为每个 TX 和 Rx 提供了10-15个选项、这将导致多个组合。

    最好确定适当的延迟并尝试。

    此致

    MAD_HU

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

    您好!

    我正在研究一个内部资源、以帮助您解决有关何时使用哪个值的问题。 我想提供与我在上面推荐的 DTS 文件中显示的相同的计时值。

    此致、

    Schuyler

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

    您好!

    您能否以文本格式发布您的 RGMII 跟踪器? 我看到您附加了完整的路线长度报告、但我无法用 PDF 格式对其进行太多处理。 将其限制为 RGMII、您可以将其作为文本发布在此处。

    谢谢你。

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

    您好、DK、

    在我的第一篇文章中、我附加了一个名为 2425.trace_elts.txt 的文本文件、该文件的布线长度仅为 RGMII

    我仍在附加相同的文件供您参考。

    Regardse2e.ti.com/.../3580.trace_5F00_lengths.txt

    MAD_HU

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

    谢谢、很抱歉错过了第一个。

    似乎 Trance 长度匹配在~200mil 内。 您是否在 PHY 上启用了 RGMII_ID 模式? MAC (AM335x)默认会在 TX 通道上启用此功能、因此请确保 PHY 上未启用此功能、否则最终会出现双延迟。 PHY PHY 的 TX 通道启用 RGMII_ID。 PHY 内部延迟应设置为~2ns 以开始。

    您是否在10或100模式下看到数据包?

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

    您好、DK、

    在自举配置中、我找不到 RGMII-ID 的启用/禁用位置。

    您能不能帮助我确定 我是否启用/禁用了 PHY 的 RGMII-ID。

    我在此附上 reference.e2e.ti.com/.../SCHEMATIC1-_5F00_-10.ETHERNET_5F00_MAIN.pdf 的 phy 页面原理图

    对于100和10的数据包、它是负的。 即、电路板上没有数据包。

    此致

    MAD_HU

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

    您好、DK、

    请告诉我是必须更新 Rx 延迟还是同时更新 Rx 延迟(Rx 延迟和 TX 延迟)。

    您所说的2ns 既适用于 Rx、也适用于仅 Rx?

    五深的意义又是什么?  我发现如果我们不在 DTS 中通过这个 argumnet、dp83867的驱动程序将崩溃、并且正在加载通用 phy 驱动程序。 10Mbps 模式下、通用 PHY 驱动器能够响应 Ping 的次数约为30%。

    此致

    MAD_HU

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

    您好、DK、

    很抱歉、我不断删除消息并传播该主题。我的目的是为您提供问题的清晰图片。

    关于电路板外的数据包,每当我将 IP 设置到电路板上时,我就会看到电路板上的一些 MDNS 数据包。

    我已经尝试将 FIFO 深度设置可用的所有延迟设置为 DP83867_PHYCR_FIFO_DEPTY_8_B_NIB。 仍然没有 Ping 发生。

    此致

    MAD_HU。

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

    您好!

    默认情况下、AM335x (MAC)上启用 RGMII 内部延迟。 这意味着 AM335x 将相对于数据将发送时钟(GTX_CLK)延迟~2ns。 由于 MAC 已经在其 TX 通道上引入了此延迟、PHY 也不会这样做很重要。 但是、PHY 确实需要在其 TX 通道(即 MAC 的 RX 通道)上引入同样的延迟。 经过提炼、MAC-PHY 接口的每一侧只需在其 TX 通道上引入此延迟

    该延迟在 AM335x 上不可调节、但在 PHY 上可调节。 我先前建议您确保 PHY 引入的 GTX_CLK 延迟设置为~2ns。 我们可以稍后更改、但这是一个良好的开始、应允许在10/100时100%运行。 所有这些延迟功能在 PHY RGMIDCTL 寄存器中描述/控制。 SNLS484F 中的表8.6.43。 对于您的设置、您希望 PHY 配置为:

    - RGMII_TX_CLK_DELAY ="1"= RGMII 发送时钟被移位。

    - RGMII_TX_DELAY_CTRL ='0111'= 2ns (默认值)

    - RGMII_RX_CLK_DELAY ="0"= RGMII 接收时钟对齐(默认值)。

    验证 PHY 延迟设置正确后、我们可以继续执行下一个调试步骤。

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

    您好、DK、

    根据您的说明、我已将 DTS 文件中的 TX-DELAY 设置为2ns、但未设置 Rx-DELAY。 (我的 etTho 器件是 MDIO:05)

    我放置了一些内核调试语句、以验证设置是否正确应用以及是否发生了这些设置。 日志文件已附加、供您参考。

    仍然存在 Rx 错误且未执行 ping 操作、Ethtool 日志已附加以供您参考。

    此致

    Mad_hue2e.ti.com/.../boot_5F00_log.loge2e.ti.com/.../ethtool_5F00_log.loge2e.ti.com/.../ethtool_5F00_log_5F00_2.txt

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

    您好 DK。

    是否有更新?

    此致

    MAD_HU

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

    此时、我不认为您看到接口时序问题。 我已要求我们的软件专家返回到该调试中。

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

    您好、DK、

    软件人员能不能帮助我。已经4天了,没有任何支持回复。

    请尽早帮助我们。

    此致

    MAD_HU

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

    大家好、团队、

    请有人回答这个问题。

    此致

    MAD_HU

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

    您好!

    感谢您连接引导日志和 ethtool 输出。

    引导日志表示由于 PHY 被正确识别、引导看起来正常。

    查看 ethtool 输出、Mac 的 TX 端统计数据显示正在发送的数据包、但 Wireshark 未显示任何内容。 这意味着 PHY 和 MAC 按预期工作。 您是否有可验证 MAC 和 PHY 之间流量的范围? 应该在此处验证引脚多路复用器、是否使用 TI SysConfig 工具为 DTS 文件创建引脚多路复用器?

    链路速度是否为10Mbps?  

    还可以从链接合作伙伴的角度来看一下。 我建议连接 PC (最好是 Linux Box)、并在链接伙伴上使用 ethtool 来验证两个链接伙伴是否已协商到相同的链接速度。 然后查看链路 Mac 接口上的统计信息、了解它看到的接收错误。

    此致、

    Schuyler

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

    Schuyler、您好、

    DTS 不是通过 TI SysConfig 工具创建的、而是通过验证的 DTS、因为它与 Atheros IC 及其工作的其他电路板使用相同的 DTS。 此外、我们还有引脚多路复用工具、用于验证所使用的引脚是否合适。

     当我 ping Linux 框时、我探测了 AM335X_GMII1_TXD0、AM335X_GMII1_TXD1、AM335X_GMII1_TXD2、AM335X_GMII1_TXD3和 AM335X_GMII1_TXCLK、并观察到这一点

    AM335x_GMII1_TXD3=1

    AM335x_GMII1_TXD2=0

    AM335x_GMII1_TXD1=0

    AM335x_GMII1_TXD0=0

    AM335x_GMII1_TXCLK=25MHz

    到目前为止、我正在尝试所有速度、但我需要1Gbps。

    以下附件是从 AM3358板 ping Linux 合作伙伴的 ethtool 和 ifconfig 的结果。

    e2e.ti.com/.../linux_5F00_log.txt

    此致

    MAD_HU

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

    您好!

    感谢您提供数据。 我想确保数据路径、链路速度和双工模式。

    对于 AM3358电路板和 Linux 合作伙伴、两个链接合作伙伴是否显示相同的链接速度? 我要求的原因是、在附加的日志中可以看到这一点。

    速度:100Mb/s
    双工:半双工

    优点是 Linux 合作伙伴统计中没有检测到任何错误。 但我担心链路速度不匹配。 Linux 合作伙伴上的接口显示传入的数据包。 Linux 合作伙伴上的 Wireshark 是否会显示接收到的数据包是否具有 AM3358板的源 MAC 地址?

    此致、

    Schuyler

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

    Schuyler、您好、

    我也看到电路板和合作伙伴稳定的速度保持不变、但双工模式不同。 板显示为全双工、其中作为合作伙伴发布为半双工。

    根据您的请求、我在 Wireshark 中捕获了数据包并将其附加到这里。我可以看到按电路板发布的 MAC 地址 是正确的。

    一个捕获告诉我们电路板正在发送 ARP 请求以告知其网关。

    我已删除网关并向合作伙伴设置 ping 请求的另一个捕获。 我可以看到、董事会要求合作伙伴提供有关合作伙伴身份的信息、而合作伙伴则回复、但董事会无法获取该信息。 很明显、我们遇到了一些 RX 问题。

    e2e.ti.com/.../5483.wireshark_5F00_capture.zip

    此致

    MAD_HU

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

    您好!

    感谢您的参与。 我同意存在接收问题。 接收问题可能是引脚复用或 PHY 模拟侧的问题。

    由于一个链路伙伴报告的是半双工模式、因此这可能会解释接收问题。 目前、验证 Rx 引脚多路复用器是否正确、并查找 PHY 模拟侧的问题。 如果您在评估模拟端时需要帮助、我需要咨询团队成员。

    此致、

    Schuyler

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

    Schuyler、您好、

    以下附件是 DK 要求我设置 Tx 延迟和删除 RX 延迟后的最新 DTS 文件。 我发现引脚复用没有问题。 如果您发现任何善意的信息、请告诉我。

    在评估模拟端时,请咨询您的团队成员,并更新他们的意见。

    此致

    Mad_hue2e.ti.com/.../0447.am335x_2D00_evm.txt

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

    您好 Schuyler

    本地 TI 团队建议在启动后重置以太网 IC、并这样做使我的 Rx 正常工作。

    他们怀疑驱动程序在启动期间无法更新寄存器、并且复位会重新配置 IC。 这种现象对我很有用、我的电路板能够与网络通信。

    我应该继续使用相同的现象、还是应该进一步调试驱动程序为何无法正确配置 IC /写入寄存器?

    此致

    MAD_HU

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

    Schuyler、您好、

    有更新吗?

    此致

    MAD_HU

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

    您好!

    对于此响应、我将假定 PHY 复位使用硬件复位线路、而不是 PHY 驱动程序经过初始化过程时发生的 SW 驱动程序复位。

    TI 当地团队推荐的方法是一种好方法。 这种复位方法允许 PHY 在 SOC 已初始化后从已知良好状态开始、并且不可能在 MAC 接口上切换线路。 在 POR 之后、PHY 初始化速度更快。 因此、在 PHY 初始化时、它可能尝试锁存选项、某些 MAC SOC 线路可能会切换、这可能会导致 PHY 中出现错误。  

    如果先前报告的代码/对齐错误不再与硬件复位技术一起发生、则此特定问题将得到解决。

    此致、

    Schuyler

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

    Schuyler、您好、

    然后,我们将遵循相同的步骤。

    感谢您提供的广泛支持。

    此致

    MAD_HU