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.

[参考译文] AM5708:无法在 SDK 08.02.01.00 上禁用 prp-rx-offload–PRP 在 PRU-ICSS 上无法正常工作

Guru**** 2484705 points
Other Parts Discussed in Thread: AM5708

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1547985/am5708-unable-to-disable-prp-rx-offload-on-sdk-08-02-01-00-prp-not-functioning-on-pru-icss

部件号:AM5708


工具/软件:

您好:

我们使用基于 AM5708 的定制电路板、并使用 PRU-ICSS 启用 PRP 功能。 在之前的 SDK 版本 ti-processor-sdk-linux-am57xx-evm-05.03.00.07 中、我们能够使用以下命令配置 PRP:

ethtool -K eth2 prp-rx-offload off

但是、在较新的 SDK ti-processor-sdk-linux-am57xx-evm-08.02.01.00 上、同一命令会失败、并显示以下错误:

root@am57xx-EVM:~# ethtool -K eth2 prp-rx-offload off
NetLink 错误:找不到位名称(偏移量 56)
NetLink 错误:操作不受支持
Root@am57xx-EVM:~#

这表明卸载位或其支持在这个较新的内核中不再可用或公开。 此外、在较新的 SDK 中、没有关于如何在标准 EMAC 模式和 ICSSG 上的 PRP 之间切换的明确信息。

我们已验证 PRU 相关的内核模块是否已正确加载:

Root@am57xx-EVM:~# lsmod
未污染
xt_tcpudp 16384 1.
XT_Mac 16384 0
arptable_filter16384 0
ARP_TABLES 20480 1 arptable_filter
iptable_filter16384 1.
iptable_nat 16384 0
NF_NAT 45056 1 iptable_nat
NF_Conntrack 110592 1 NF_NAT
nf_defrag_ipv6 20480 1 nf_conntrack
NF_defrag_IPv4 16384 1 NF_conntrack
libcrc32c 16384 2 nf_nat、nf_conntrack
ip_tables 28672 4 iptable_filter、iptable_nat
XT_u32 16384 1
x_tables 32768 7 xt_tcpudp、xt_mac、arptable_filter、arp_tables、iptable_filter、ip_tables、xt_u32
Prueth 61440 0
rpmsg_kdrv_switch 20480 0
virtio_rpmsg_bus 20480 0
rpmsg_PRU 16384 0
rpmsg_char 16384 0
rpmsg_proto 16384 0
PRU_rproc 24576 1 优先
pruss 16384 2 prueth、PRU_rproc
HSR 57344 1 小心
ICSS_IEP 24576 1 谨慎
IRQ_pruss_INTC 16384 6.

我还回顾了一个相关主题:
e2e.ti.com/.../am5718-latest-sitara-am57x-sdk-linux-not-loading-prp-hsr-firmware-to-pruss

遗憾的是、它没有提供在较新的 SDK 中在 PRU-ICSS 上启用 PRP 模式的有效解决方案或清晰步骤。

我的问题:

1.是否在 08.02.01.00 中删除或更改了对 prp-rx-offload 的支持?

2.在此 SDK 版本中、在 PRU-ICSS 上启用 PRP 的正确过程是什么?

3.如何在标准 EMAC 和 PRP 模式之间切换—是否需要修改设备树、固件或用户空间配置?

4. 08.02+ SDK 中是否有关于 PRP 支持的更新说明或文档?

请提供任何指导或指示。

谢谢您、
Mahesh R.

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

    您好、Mahesh、

    是的、对卸载功能的支持在 SDK 8.2 中中断。 遗憾的是、此 SDK 不在我们现在的支持范围内、目前在最新的 SDK (9.x) 中完全丢弃了 HSR\PRP 功能。 我们正在努力将其恢复到今年的 11.2 SDK 版本中。

    我相信另一位客户可能在以下主题中获得了成功的修复:

    PROCESSOR-SDK-AM57X:在冗余端口之间创建桥接器时、TI-pruss/am57xx-pru0/1-prusw-fw.elf 固件未加载到 PRU 中

    此致、  

    Josue

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

    您好 Josue、

    感谢您的答复。

    我们很惊讶地得知这一点 PRP 功能在 SDK 08.02.01.00 中损坏、在 SDK 9.x 中完全丢弃 、特别是因为 SDK 08.02.01.00 版本说明 明确提及与相关的修复 HSR 和 PRP 多播以及 VLAN 过滤问题

    https://software-dl.ti.com/processor-sdk-linux/esd/AM57X/08_02_01_00/exports/docs/devices/AM57X/linux/Release_Specific_Release_Notes.html#release-08-02-01

    “修复了固件和 Linux 驱动程序中的 HSR/PRP 多播和 VLAN 过滤问题。“

    这是其中一个 我们从 SDK 05.03.00.07 迁移到 08.02.01.00 的主要原因 、因为我们的系统依赖于 PRP 下正确的多播和 VLAN 处理。

    在这种情况下、请说明以下几点:

    1. PRP 在 08.02.01.00 中是否部分正常工作、或者在发布后是否发现其破损?

    2. 任何已知的补丁、权变措施或固件源 可让我们在 SDK 08.02.01.00 中重建或重新启用 PRP?

    3. 尽管ethtool -K eth2 prp-rx-offload off命令失败、我们仍然可以观察到 以太网帧中存在 PRP 预告片 。 这是否表明 PRP 在固件或驱动程序级别部分处于活动状态?

    任何可以帮助在此 SDK 版本中恢复 PRP 运行的技术指南或参考、我们将不胜感激  

    此致、
    Mahesh R

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

    您好、Mahesh、

    是的、PRP 正在工作、发布后发现了一些错误。 遗憾的是、这些数据直到支持窗口关闭和 9.02 发布后才报告。  

    新即将推出的 SDK 11.2 将恢复 HSR PRP 功能。

    我将查看是否可以重新创建上述行为。 我不熟悉如何测试 HSR/PRP、因此这可能需要一些时间来完成设置和运行。

    感谢您的耐心。

    -Josue

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

    您好、Mahesh、

    因此、我已成功设置 PRP 网络并验证我可以 ping 通另一个电路板、而无论断开其中一个以太网 连接。

    我认为问题在于文档中的卸载命令不正确、文档未正确更新。

    有关更多信息、请参阅以下常见问题解答:

     【常见问题解答】PROCESSOR-SDK-AM57X:SDK 8.2 HSR/PRP 配置可卸载 PRU-ICSS 模块的特性 

    此致、

    Josue

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

    奇怪。 我会在本地再试一次。

    报告我的调查结果。 您使用的是定制电路板还是 TI EVM?

    默认 Linux 映像?

    -Josue

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

    Mahesh、

    刚刚验证过。 您犯了错误、未正确执行第二步:

    “2) 将端口配置为具有相同的 MAC 地址“  

    am57xx-evm login: 
    am57xx-evm login: root
    root@am57xx-evm:~# ifconfig eth4
    eth4: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500  metric 1
            ether 70:ff:76:1c:0c:a5  txqueuelen 1000  (Ethernet)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    root@am57xx-evm:~# ifconfig eth4 0.0.0.0 down
    [ 4217.218902] remoteproc remoteproc5: stopped remote processor 4b2b4000.pru
    [ 4217.225982] net eth4: stopped
    root@am57xx-evm:~# ifconfig eth5 0.0.0.0 down                                                                        
    [ 4225.748443] prueth pruss2_eth eth5: Link is Down
    [ 4225.754028] remoteproc remoteproc6: stopped remote processor 4b2b8000.pru
    [ 4225.766113] net eth5: stopped
    root@am57xx-evm:~# ifconfig eth5 hw ether 70:ff:76:1c:0c:a5 && ifconfig eth4 hw ether 70:ff:76:1c:0c:a5              
    root@am57xx-evm:~# ethtool -K eth4 hsr-fwd-offload on                                                                
    root@am57xx-evm:~# ethtool -K eth5 hsr-fwd-offload on                                                                
    root@am57xx-evm:~# ethtool -K eth4 hsr-tag-rm-offload on                                                             
    root@am57xx-evm:~# ethtool -K eth5 hsr-tag-rm-offload on                                                             
    root@am57xx-evm:~# ip link add name hsr0 type hsr slave1 eth4 slave2 eth5 supervision 45 version 1                   
    root@am57xx-evm:~# ip link add name hsr0 type hsr slave1 eth1 slave2 eth2 supervision 45 version 1^C
    root@am57xx-evm:~# ifconfig eth4 up && ifconfig eth5 up                                                              
    [ 4471.150604] pps pps0: new PPS source ptp0
    [ 4471.158996] icss-iep 4b2ae000.iep: iep ptp bc clkid 0
    [ 4471.164093] remoteproc remoteproc5: powering up 4b2b4000.pru
    [ 4471.178710] remoteproc remoteproc5: Booting fw image ti-pruss/am57xx-pru0-pruhsr-fw.elf, size 8580
    [ 4471.187774] remoteproc remoteproc5: unsupported resource 5
    [ 4471.193328] remoteproc remoteproc5: remote processor 4b2b4000.pru is now up
    [ 4471.201660] remoteproc remoteproc6: powering up 4b2b8000.pru
    [ 4471.210662] remoteproc remoteproc6: Booting fw image ti-pruss/am57xx-pru1-pruhsr-fw.elf, size 8252
    [ 4471.220153] remoteproc remoteproc6: unsupported resource 5
    [ 4471.226257] remoteproc remoteproc6: remote processor 4b2b8000.pru is now up
    [ 4471.233947] net eth4: started
    [ 4471.244720] net eth5: started
    root@am57xx-evm:~# [ 4472.881134] prueth pruss2_eth eth5: Link is Up - 100Mbps/Full - flow control off
    [ 4472.889465] IPv6: ADDRCONF(NETDEV_CHANGE): eth5: link becomes ready
    
    root@am57xx-evm:~# 
    root@am57xx-evm:~# 
    root@am57xx-evm:~# 
    root@am57xx-evm:~# 

    -Josue

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

    发布者:Mahesh:

    您好 Josue、

    感谢您检查并致电步骤 2。

    为了澄清、我们  是的  使用配置两个从端口  相同的 MAC 地址  在创建 HSR/PRP 器件之前:

    ifconfig eth1 down
    ifconfig eth2 down
    ifconfig eth1 hw ether 70:B3:D5:FA:6C:6E
    ifconfig eth2 hw ether 70:B3:D5:FA:6C:6E

    在我们的设置中、从接口没有分配 IP 地址、因此使用 ifconfig ethX 0.0.0.0 down 与实际上相同 ifconfig ethX down。 也就是说、如果驾驶员需要、我们可以按照您的确切顺序操作。

    尽管两个端口上的 MAC 匹配、但我们仍然在启用以下命令后导致内核崩溃:

    是否还有任何其他订购限制 、这些 remoteproc ... unsupported resource 5 消息是否相关?

    谢谢、

    Mahesh R

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

    您好、Mahesh、

    我在我这边看不到这一点、正如您  在我的日志中看到的:关于 AM5708:在 SDK 08.02.01.00 上无法禁用 prp-rx-offload–PRP 在 PRU-ICSS 上无法正常工作 

    我也看到了 remoteproc 消息,我认为它不是相关的。

    您是在定制电路板上执行此操作吗?

    -Josue

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

    您好 Josue、

    是的、我们正在使用定制电路板。

    谢谢、

    Mahesh R

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

    Mahesh、

    是否有 TI IDK 可在上面试用?

    AM5718x IDK 上不会出现此问题。

    -Josue