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.

[参考译文] AM6548:am65x-sr2 固件是否支持以太网半双工模式(与 Linux CIP 内核 6.12 配合使用)?

Guru**** 2551110 points
Other Parts Discussed in Thread: AM6548

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1565282/am6548-do-the-am65x-sr2-firmware-support-ethernet-half-duplex-mode-work-together-with-linux-cip-kernel-6-12

器件型号:AM6548


工具/软件:

尊敬的 TI 团队:

我们遇到了以太网半双工模式在最新固件版本下无法正常工作的问题。

测试环境  

测试步骤:

    1、将 AM6548 的以太网设置为半双工并禁用自动否定

    2.将以太网连接到路由器(DHCP 服务器可用)、AM6548 无法获取 IP。

   3、将 AM6548 直接连接到 Linux 主机、将 AM6548 IP 设置为 192.168.1.1、将 Linux 主机 IP 设置为 192.168.1.2

     -从 AM6548 ping Linux 主机、失败、Linux 无响应。  

     -从 Linux 主机 ping AM6548、失败、AM6548 无响应。

问题:

  1. 固件 v11.01.12 是否支持以太网半双工模式?
  2. 如果不是、使用 Linux 内核 V6.12 时、哪个固件版本与半双工功能兼容?

我们希望您能提供有关解决此兼容性问题的指导、或提供支持我们要求的备用固件版本的建议。

感谢您的帮助。

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

    您好 Chun Jiao Zhao、  

    固件 v11.01.12 是否支持以太网半双工模式?

    您的问题意味着半双工模式在过去的固件版本中已经起作用。 是这样吗? 如果是、您能否分享过去哪个固件版本具有半双工功能?

    在设置 IP 地址并在连接 AM65x 器件和 Linux 主机 PC 时 ping 是否已打开链路之前、您是否还进行了检查?

    您是否使用 AM65x TI EVM 或定制电路板进行测试?

    -道林

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 TI 团队:
    是、发现 早于 10.00.04 的版本可以正常工作。

    过去几天、我们一直在调查这个问题。 我们目前正在所示的自有载板上测试此问题 IoT2050 。 我们的载板使用带有 DP83867 PHY 芯片的 AM6548 CPU。 Linux 内核版本为 Linux 6.12.41-cip6。 目前、我们初步认为、这个问题可能是由 ti-pruss 固件引起的。 我们尝试在驱动程序中添加调试日志来找到问题。 通过调试、我们发现当设置为半双工模式时、驱动程序无法向 PRU 发送数据(或者 PRU 没有将数据发送出去?)。 以下是故障排除步骤。

    测试步骤

    1. 在 IoT2050 上安装 Linux CIP 内核 6.12.41-cip6 和 ti-pruss 固件 11.01.12

    2. 将 IoT2050 以太网端口连接到 Linux 合作伙伴器件

    3. 将 IoT2050 IP 地址配置为 192.168.1.10/24、将 Linux 合作伙伴 IP 地址配置为 192.168.1.1/24

    4. 从 Linux 合作伙伴 ping IoT2050 以及从 IoT2050 ping Linux 合作伙伴 — 两者都能正常工作

    5. 将 IoT2050 以太网配置为半双工模式(例如)  ethtool -s eno2 speed 100 duplex half autoneg off

    6. 从 Linux 合作伙伴 ping IoT2050 以及从 IoT2050 ping Linux 合作伙伴 — 两者都无法正常工作

    7. 检查 IoT2050 上的以太网卡统计信息:tx_bytes 持续增加、而 rx_bytes 在从 IoT2050 发出 ping 命令时保持不变(但对等设备不会接收任何 ICMP 数据包、仅接收来自 IoT2050 的 ARP 数据包)。 从 Linux 伙伴执行 ping 操作时(IoT2050 收到 ICMP 数据包并向对等设备发送 ICMP 回复数据包、但对等设备没有收到任何 ICMP 回复数据包)、并且调试 UART 端口中会显示以下错误日志:

      [ 1839.481580] icssg-prueth icssg0-eth eno1: NETDEV WATCHDOG: CPU: 2: transmit queue 0 timed out 71400 ms
      [ 1845.369523] icssg-prueth icssg0-eth eno1: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 77288 ms
      [ 1850.233493] icssg-prueth icssg0-eth eno1: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 82152 ms
      [ 1855.353461] icssg-prueth icssg0-eth eno1: NETDEV WATCHDOG: CPU: 3: transmit queue 0 timed out 87272 ms
      [ 1860.217427] icssg-prueth icssg0-eth eno1: NETDEV WATCHDOG: CPU: 0: transmit queue 0 timed out 

    结论

    IoT2050 可以在半双工模式下接收数据、但无法发送数据。

    在测试多个固件版本后、09.01.00.001 至 10.00.04(含)版本可在半双工模式的 Linux 6.12 上正常工作。

    该问题从 10.00.07 版本开始引入 (commit 1d8e2dd45df068df9b874d9b2e1be18df0ea15e7 )。

    Linux CIP 6.12 兼容性从版本 09.01.00.001 开始 (commit d48b64028f1e0085a736c92bb631162c04d146eb )。

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

    尊敬的 Chun Jiao Zhao:  

    对延迟的回复深表歉意、感谢您分享这些详细信息。 我已经联系了一位团队成员、他们可以详细介绍 PRU 固件。 如果您明天未收到回复、请致电本主题。

    -道林

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

    尊敬的 Chun Jiao:  

    发生问题后(从下述的起始地址到结束地址)、您能否共享 PRU ICSSG 转储?  
    下一步、我将尝试在我这边重新运行测试。 我会让你保持发布。  

    PRU ICSSG-0

    起始地址:0x000B000000
    结束地址: 0x000B03C0FF

    BR、
    Jc.