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.

[参考译文] Linux/AM3358:HSR/PRP 配置问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/671194/linux-am3358-hsr-prp-configuration-questions

器件型号:AM3358
主题中讨论的其他器件:DP83640

工具/软件:Linux

您好!  

我正在调试自己的电路板、该电路板具有2个具有 PRU 功能的以太网端口。

现在、Linux 内核正在运行、并且以太网作为正常的网络接口(即没有 HSR/PRP 功能)运行得非常完美。

该 SDK 是 ti-processor-sdk-linux-rt-am335x-evm-04.02.00.09。

然后、我想根据此 wiki 页面测试 HSR/PRP 函数:  

我使用了 setup.sh 脚本、在我自己的板之间对其进行了测试、它们也运行良好。

(1)我使用3块板设置一个 HSR 环、每个板可以 ping 通其他两块板、即使任何断开的电缆也是如此。

(2)我使用2个开关来设置 PRP 网络、 每个板甚至可以 ping 通其他两个板上断开的任何电缆。

然后、我们希望使用其他公司的器 件测试 HSR/PRP 功能、但 HSR 不起作用。

我们发现 有一些选项、如模式 H、T、U、配置所需的设置、

在 wiki 中、我们可以使用 SNMP 命令更改设置、  

那么、我的问题是如何使用命令来设置模式、如 modeh?  

有一个示例

snmpset -v 2c -c private 192.168.2.20 IEC-62439-3-MIB::lreHsrLREMode.1 I 3. 

3意味着某种模式吗?

2、如上所述、我们必须使用 SNMP、因此我们必须设置 HSR/PRP 接口并进行卸载。
然后、当我将以太网端口设置为卸载后再配置它时、会出现另一个问题。
当我执行以下命令时、这是可以的:

ifconfig eth0 down
ifconfig eth1 down
ethtool -K eth0 hSR-rx-卸 载打开
ethtool -K eth1 HSR-Rx-卸 载打开
ifconfig eth0 HW ether 2美元
ifconfig eth1 HW ether 2美元

然后、当我打开端口时会发生这种情况:

root@AM335x-EVM:~# ifconfig eth1 up
[302.227650]无法处理虚拟地址 e17bb000处的内核分页请求
[302.235456] PgD = dcc5c000
[302.238181][e17bb000]* PgD=9cff3811、* Pte=00000000、* Ppte=00000000
[302.248286]内部错误:Oops:807 [#1]抢占 ARM
[302.248396]模块链接于: sha512_generic sha512_arm bc_example (O) des_generic cbc xfrm_user xfrm4_tunnel ipcomp xfrm_ipcomp 支持4 ah4 af_key xfrm_algo musb_dsp musb_hddrc usb_hdr us_am335x phy_generic udi_core_mac 控制器 rmac rgr ip_r_r_rmac rgr CAN_DEV GPIO_pca953x SPI_OMAP2_mcspi MUSB omb_AM335x OMAP-serial OMAP-WDT sch_FQ_cdel uio cryptodev (O)
[302.248411] CPU:0 PID:802 Comm:ifconfig 被污染:G O 4.9.59-rt23-g273202a0d3 #8
[302.248413]硬件名称:通用 AM33XX (平展器件树)
[302.248419]任务:dcc10d00 task.stack:da76000
[302.248442] PC 位于_memzero_0x24/0x7c
[302.248448] LR 位于0x0
[302.248455]电脑:[ ] LR:[<000000000000>] PSR:200e0013
[302.248455] sp:da77de4 IP:00000000 FP:e17afb80
[302.248458] R10:da8e4520 R9:da81ca80 R8:00000000
[302.248462] r7:da81ca68 r6:da92b800 r5:00000000 r4:e17bb000
[302.248466] R3:00000000 R2:00000000 R1:00002dc8 r0:e17bb000
[302.248473]标志:nzCv 在模式 SVC_32 ISA ARM 段无时 FIQ 上的 IRQ
[302.248477]控制:10c5387d 表:9cc5c019 DAC:00000051
[302.248482 ]进程 ifconfig (pid:802、栈限制= 0xdaa76208)
[302.248486]堆栈:(0xdaa77de4至0xdaa78000)

有关完整日志、请参阅随附的文件 e2e.ti.com/.../HSRPRP.txt

3、我注意到默认固件类型为 EMAC、可以通过设置 u-boot args 来更改此类型。

但是、Wiki 中还有另外一句话:

启动 Processor SDK 04.01.00后、可在电路板通电并运行 Linux 内核的情况下将驱动程序配置为切换协议。"

我们使用的是 SDK 04.02.00.09、这意味着我们可以通过 ethtool -K xxxTM

我还将 u-boot args 更改为  pruss1_ethtype=1、但 dmesg 显示:

prueth pruss_eth:已初始化 TI PRU 以太网(0类)驱动程序

这似乎不奏效。

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

    我已经在 ICE2板上对其进行了测试、出现了相同的问题2和3。

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

    我需要研究您看到的问题。

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

    根据:

    processors.wiki.ti.com/.../Processor_SDK_Linux_HSR_PRP

    我们仅发布了适用于 AM57x 类器件的 HSR。 如果我们的计划不变、我们计划在2018年第3季度末为 AM335x 提供支持。