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.

[参考译文] PROCESSOR-SDK-AM64X:使用 TI SDK 时、ethtool 设置帧占先和 MAC 验证失败

Guru**** 2442090 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1544962/processor-sdk-am64x-ethtool-set-frame-preemption-and-mac-verify-failed-using-ti-sdk



工具/软件:

按照 Pekka 在该页面中执行命令的序列:  AM6422:eth0 set iet-frame-preming failure 

root@am64xx-EVM:~# ip link set dev eth0 down
root@am64xx-EVM:~# ethtool -L eth0 tx 2
root@am64xx-EVM:~# ethtool --set-priv-flags eth0 p0-rx-type-rlooth off
root@am64xx-EVM:~# ethtool --set-priv-flags eth0 iet-frame-preming on
NetLink 错误:找不到位名称(偏移量 48)
NetLink 错误:操作不受支持
root@am64xx-EVM:~# ethtool --set-priv-flags eth0 iet-mac-verify on
NetLink 错误:找不到位名称(偏移量 48)
NetLink 错误:操作不受支持

TI 软件版本:

root@am64xx-EVM:~# uname -A
Linux am64xx-EVM 6.6.58-ti-01497-ga7758da17c28-dirty #1 SMP PREEMT 11 月 27 日星期三 13:23:15 UTC 2024 AArch64 GNU/Linux

如何解决此问题?

谢谢!

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

    您好、

    对此有任何更新? 谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    按照本页中的命令执行顺序执行 Pekka:  AM6422:eth0 set iet-frame-preming fail
     

    这些说明适用于 2021 年 8 月开始的 SDK。 我想从今年开始、您运行的是更新的 SDK 和 Linux 内核。 查看所用版本中的说明。  https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM64X/latest/exports/docs/linux/Foundational_Components Network/Kernel/Network/cPSW-IET.html Kernel_Drivers 。 通常我们使用上游功能、在这个过程中、确切的命令可能会改变。 这里可能就是这样。

    看起来您运行的是非 RT 内核。 IET/占先在最坏情况下的延迟优势是在微秒范围内、在不使用 RT 配置的情况下、Linux 调度最坏情况的行为将比以太网级别的任何行为差 100-1000 倍。

     Pekka

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

    谢谢您、Pekka。
    以下是我按照指令运行 iperf3 发送器/接收器示例的结果。 它们看起来合理:
    在发件人上:
    root@am64xx-EVM:~/iet# ethtool -i --show-mm eth1
    eth1 的 MAC 合并图层状态:
    已启用 PMAC:打开
    TX 启用:开启
    TX 有效:开启
    TX 最小片段大小:124
    RX 最小片段大小:124
    验证已启用:打开
    验证时间:10.
    最大验证时间:128
    验证状态:成功
    统计数据:
     MACMergeFrameAssErrorCount:0
     MACMergeFrameSmdErrorCount:0
     MACMergeFrameAssOkCount: 0
     MACMergeFragCountRx:0
     MACMergeFragCountTx: 87083
     MACMergeHoldCount:0

    在接收器上:
    root@am64xx-EVM:~/iet# ethtool -i --show-mm eth0
    eth0 的 MAC 合并图层状态:
    已启用 PMAC:打开
    TX 启用:开启
    TX 激活:关闭
    TX 最小片段大小:124
    RX 最小片段大小:124
    验证已启用:打开
    验证时间:10.
    最大验证时间:128
    验证状态:失败
    统计数据:
     MACMergeFrameAssErrorCount:0
     MACMergeFrameSmdErrorCount:0
     MACMergeFrameAssOkCount: 77231.
     MACMergeFragCountRx: 87083
     MACMergeFragCountTx:0
     MACMergeHoldCount:0

    一些后续问题:
    TSN 功能是否可在非 RT Linux 内核上运行? TSN 特性是否需要 RT 配置?
    是否提供了 AM64x EVM RT Linux 映像、以便我们可以试用 TSN 功能?

    感谢您的帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. TSN 功能是否可以在非 RT Linux 内核上工作? TSN 特性是否需要 RT 配置?

    是的。 TSN 确保以太网级别、因此直到第 2 层或第 2.5 层 (VLAN) 都是确定性的。 以太网不关心是否有操作系统(或没有)以及它的实时性。 我的观点是、对于非 RT Linux、您的软件将在毫秒级具有非确定性、这很可能会破坏尝试在通信级别确保亚微秒级确定性的目的。

    2. 是否提供了 AM64x EVM RT Linux 映像、以便我们可以试用 TSN 功能?

    是的。 RT SD 卡映像适用于所有 Sitara 目标、特别是对于 AM64x:

    https://www.ti.com/product/AM6442#software-development 搜索 RT。 此处直接链接、首先是基于 Yocto 的映像、然后是 Debian、用于更简单的“apt install“样式第二:

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-InmvA50mCw/11.01.05.03/tisdk-default-image-rt-am64xx-evm-11.01.05.03.rootfs.wic.xz

    https://dr-download.ti.com/software-development/software-development-kit-sdk/MD-InmvA50mCw/11.01.05.03/tisdk-debian-trixie-rt-am64xx-evm-11.01-Armbian-25.08.img 

     Pekka

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

    感谢您的解释!