主题中讨论的其他器件: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类)驱动程序
这似乎不奏效。
