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.

[参考译文] AM620-Q1:AM620-Q1:高温 85 摄氏度 ETH iperf 测试、ETH 驱动程序崩溃问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506023/am620-q1-am620-q1-high-temperature-85-degrees-celsius-eth-iperf-test-eth-driver-crash-issue

器件型号:AM620-Q1
主题:TPS65219 中讨论的其他器件

工具/软件:

尊敬的 Dear Expert:

当前的 SDK 版本为 Processor SDK 10.00.07.04。   此问题在 25 摄氏度下是正常现象。

转储堆栈消息:

[15166.525026]无法处理虚拟地址 ffff0080010fd828 的内核分页请求
[15166.533093]存储器中止信息:
[15166.535958] ESR = 0x0000000096000004
[15166.539773] EC = 0x25:DABT(电流 EL)、IL = 32 位
[15166.539787] SET = 0、FnV = 0
[15166.539792] EA = 0、S1PTW = 0
[15166.539796] FSC = 0x04:电平 0 转换故障
[15166.539801]数据中止信息:
[15166.539804] ISV = 0、ISS = 0x00000004、ISS2 = 0x00000000
[15166.539810] CM = 0、WNR = 0、TND = 0、TagAccess = 0
[15166.539815] GCS = 0、Overlay = 0、DirtyBit = 0、Xs = 0
[15166.539821]交换器 pgtable:4K 页、48 位 vas、pgdp=0000000082c43000
[15166.539836][ffff0080010fd828] PgD=000000000000、p4d=0000000000000000
[15166.539852]内部错误:oops: 0000000096000004 [#1] PREEME SMP
[15166.539860]链接的模块:iptable_filter iptable_nat xt_masquerade nf_sat nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables rpmsg_ctrpmsg_char rpmsg_char
[15166.594699] CPU:0 PID:1133 Comm:rx_thread tainted:g O 6.6.32-ti #1
[15166.594716]硬件名称:Texas Instruments AM62x LP SK (DT)
[15166.594722] pstate:800005 (Nzcv daif -pan -uAO -TCO -DIT -SSB BTYPE=--)
[15166.594732] PC : am65_cpsw_Nuss_rx_poll+0x164/0x994
[15166.594763] lr : am65_cpsw_Nuss_rx_poll+0x160/0x994
[15166.594774] sp : ffff800080003da0
[15166.594778] x29:ffffff800080003e30 x28:ffff00000b40ee00 x27:ffffff0080010fd800
[15166.659437] x26:ffff00000042e4c0 x25:000000000040 x24:ffffff0000007f7000
[15166.666575] x23:ff000001186080 x22:000000000000 x21:0000000000000027
[15166.680824] x20:ffff0000011875c8 x19:ffffff0000006b7810 x18:000000000036
[15166.680839] x17:ffff7fff9b1af000 x16:ffffff800080000000 x15:472fdd4e168924bf
[15166.687971] x14:c1cb1a37c6bd6673 x13:0000497b00021850:00000000000000000006
[15166.687984] x11:000000000000d780 x10:ffffff0000034207d8 x9:ffff0000091ff10e.
[15166.709348] x8 : ffff800080003e28 x7 : 007a0080810fd800 x6 : 007a0080810fd800
[15166.716483] x5 : ffff800080003de8 x4 : 00000000000001f4 x3 : 00000000006a.
[15166.723616] x2 : 00000000817a0000 x1 : 0000007fff95d800 x0 : ffff0080010fd800
[15166.730755]呼叫跟踪:
[15166.730762] am65_cpsw_Nuss_rx_poll+0x164/0x994
[15166.730778]_NAPI_POLL+0x38/0x178
[15166.741211] net_rx_action+0x128/0x270
[15166.744958]__do_softirq+0x100/0x26c
[15166.748618]___do_softirq+0x10/0x1c
[15166.752278] CALL_ON_IRQ_STACK+0x24/0x4c
[15166.756198] do_softirq_own_stack+0x1c/0x2C
[15166.760378] Do_softirq+0x54/0x6c
[15166.763692]__LOCAL_BH_ENABLE_IP+0x8c/0x98
[15166.767873] netiF_rx+0x6c/0x80
[15166.767888] kalRxIndicateOnePkt+0x120/0x3cc [WLAN_mt7961_SDIO]
[15166.776960] rx_thread+0x138/0x2c8 [WLAN_mt7961_SDIO]
[15166.782320] kthread+0x110/0x114
[15166.7855555] ret_from_fork+0x10/0x20
[15166.789139]代码:d65f03c0 f9400a80 97ffec46 aa0003fb (f9401405)
[15166.795228]--[结束跟踪 000000000000 ]-----
[156.81627532] pstore:后端 (ramoops) 写入错误(–28)
[15166.832962]内核紧急 — 未同步: oops:中断中的致命异常
[15166.839832] SMP:停止辅助 CPU
[15166.843760]内核偏移:已禁用
[15166.847242] CPU 特性:0x000000008,00020000,1000420b</s>008,000 20,000,100
[15166.852549]内存限制:无
[15166.883272]--[结束内核恐慌 — 未同步: oops:中断中的致命异常]---

a.从崩溃日志中查看的异常指令如下 (ti-am65-cpsw-nuss.S、k3-cppi-desc-polo.S)100

k3-cppi-desc-pool.S:

16 00000000001c :
17 1c:b40000a1 CBZ x1、30
18 20:a9408002 LDP x2、x0、[x0、#8]
19 24:cb020021 sub x1、x1、x2
20 28:8b010000 添加 x0、x0、x1
21 2c:d65f03c0 ret

TI-am65-cpsw-Nuss.S:

1580593 ffffff8000805dde64:  97ffec46   BL ffff8000805d8f7c  
1580594 ffffff8000805dde68:  aa0003fb   mov X27、x0
1580595 ffffff8000805dde6c:  f9401405   LDR x5、[x0、#40]

B、对应于 C 代码问题、请参阅 include/linux/dma/ti-cppi5.h:中的第 2914 行

488 静态内联 void cppi5_hdesc_get_obuf (struct cppi5_host_desc_t *desc、
489                    dma_addr_t *obuf、u32 *obuf_len)
490{
491    *obuf = desc->org_buf_ptr;
492    *obuf_len = desc->org_buf_len & CPPI5_OBUFINFO0_HDESC_BUF_LEN_mask;
493 }

c.调用栈:

static int am65_cpsw_Nuss_rx_poll (struct napi_struct *napi_rx、int budget)

--> static int am65_cpsw_nuss_rx_packets(结构 am65_cpsw_common*通用、

----- > RET = K3_UDMA_GLUE_POP_Rx_CHn (rx_CHn->rx_CHn、flow_idx、&desc_dma);

----- > desc_rx = k3_cppi_desc_pool_dma2virt (rx_chn->desc_pool、desc_dma);   

 ----- > void * k3_cppi_desc_pool_dma2virt (struct k3_cppi_desc_pool *pool、dma_addr_t dma)

       返回 DMA? pool->cpumem +(dma - pool->dma_addr):NULL;

       DMA = 80810FD800、 pool->DMA_addr = 00000000817a0000

      X1 = X1 - X2

      0000007fff95d800 80810FD800 - 00000000817a0000

       x0 = X0 + X1  

       ffffff0080010fd800 =   FFFF0000017A0000 + 0000007fff95d800

----- > cppi5_hdesc_get_obuf (desc_rx、&buf_dma、&buf_dma_len);

      从上面的分析可以看出、 DMA 太大、导致访问 pool->cpumem 指针的次数超出限制。

d.更多日志请参见附件。

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

    您能否添加有关您正在执行哪些操作、您正在运行哪些命令来获取这些错误的说明? 例如 iperf3 命令行运行和什么网络拓扑? 您还在使用什么硬件? 自己的电路板?

     Pekka

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

    1.自己的电路板使用 eth 连接 PC

    2.自己的电路板运行 iperf3 -c xxx.xxx.xxx.xxx

    3. PC 运行 iperf3 -s

    4.自己的主板运行 memtester 48 小时在同一环境下通过。

    谢谢、

    刘秀林

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

    您好 Walter、Xuulin、

    1.在 85°C 的高温下或几小时后,这一问题是否会快速发生(几分钟内)?

    2.能否使用 TI AM62x EVM 复制此问题?

    -道林

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

    您好 Walter、Xuulin、

    1.在 85°C 的高温下或几小时后,这一问题是否会快速发生(几分钟内)?

    2.能否使用 TI AM62x EVM 复制此问题?

    -道林

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

    1.  不是很快 发生, 它需要几个小时。

    2.  我以前没有试过。

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

    要缩小范围、您是否在同一环境中成功运行了 memtester? 第二点是您是否使用外部存储器启用了 ECC?

    如果 LPDDR4/DDR4 接口上存在位错误、这些问题将会缩小范围。

     Pekka

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

    大家好、Daolin & Pekka

    感谢您过去对相关主题的支持、

    Walter 是我的客户。

    您好、Walter、  

    遵循 Pekka 的意见,一些建议。

    我看到了您的 POST 日志、它仍然包含 mt7961 驱动程序、不是吗?

    因为我们需要确保这与 mt7961 驱动器代码无关

    建议您卸载 mt7961 驱动程序进行任何测试

     

    测试包括:

    (1) T1 以太网 iperf 测试、具有高温和正常温度测试。

    ->“还添加“本地测试来检查结果如何? ETH 服务器和客户端在 AM62x 上创建

    也许你也可以 umount relteak 驱动程序为“本地测试“.

    我认为这也会在 DDR 上产生一些流量和加载、但没有向 T1 输出真实数据。

    因为我们需要确保它也有任何与外部设备相关的(例如:HW relteak T1 phy, RGMII 布局.. 等)

    (2) DDR 测试 (遵循 Pekka 建议)

    谢谢

    Gibbs

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

    嗨、Gibbs、

      如果在删除 WLAN 驱动程序后仍然可以重现此问题、我需要提供哪些日志? 您是否有任何工具可以在发生此类崩溃时查看 coredump 文件? 查看与存储器页表相关的信息?

      由于此问题很难重现、因此有必要预先准备需要捕获的日志文件。

    谢谢、

    刘秀林

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

    嗨、Xiulin

    基于您之前的讨论、您的团队告诉我们、在没有 WiFi (MT7961) 模块的“正常温度“(25 摄氏度)下仍会发生碰撞。 因此、根据您的说明、我认为您应该使用以太网 (Eth T1) 进行压力测试、T1 以太网通信仍会发生同样的问题。

    如果我的理解是错误的,请纠正我。

    这就是我发布  iperf3 内部环回测试的方式、我很想知道、它都在 AM62x 上创建服务器/客户端、即使在正常或高温测试中、内部环回测试是否仍然会发生。 因为我们尝试缩小调试区域。

    因为我们要检查、

    (1) 它是否与 TCP/IP 或任何网络软件栈有任何关系?

    (2) 您可以编写一个存储器 R/W 程序用于重复测试、因为我们想知道 DDR 是否会出现问题?

    ...等等  

    Gibbs   

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

    您好、Gibbs、

    您能帮助我了解正在讨论的项目并分享所测试电路板的最新更新原理图吗?

    此致、

    Sreenivasa.

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

    您好 Sreenivasa:

     我已离线向您发送原理图、因为这是公共 E2E 论坛、而不是内部论坛。

    Roy

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

    您好、 Roy、  

    谢谢你。

    该主题正在讨论以太网、但我没有看到随附的与以太网相关的页面。

    您能检查并确认一下吗?

    此致、

    Sreenivasa.

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

    更新了相关状态、同个问题

    深度调试后、

    我们发现根本原因应该是 MAC TX 端“帧丢失“。

    讨论情况如下:

    https://e2e.ti.com/support/processors-group/processors---internal/f/processors---internal-forum/1519973/am620-q1-am65-cpsw-nuss-ethernet-eth0-eth1-netdev-transmit-queue-failed-in-high-temperature-testing/5849244?tisearch=e2e-sitesearch&keymatch=%252525252520user%25252525253A533255#5849244

    谢谢你

    Gibbs  

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

    您好 Sreenivasa:

     我会通过邮件更新原理图  

    谢谢你  

    Roy

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

    您好、

    这个问题已引起我的注意。

    此问题在 25 摄氏度下是正常的。
    根据您之前的讨论、您的团队告诉我们在“正常温度“(25 摄氏度)下仍然发生崩溃、没有 WiFi (MT7961) 模块。 [/报价]

    客户方面的人员能否确认内核是在正常 (25°C) 温度下崩溃还是仅在高温 (85°C) 下崩溃?

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

    嗨、Bin

    请转到此主题进行主要讨论。

    https://e2e.ti.com/support/processors-group/processors---internal/f/processors---internal-forum/1519973/am620-q1-am65-cpsw-nuss-ethernet-eth0-eth1-netdev-transmit-queue-failed-in-high-temperature-testing/5849244?tisearch=e2e-sitesearch&keymatch=%252525252520user%25252525253A533255#5849244

    问题仅 在高温 (85°C) 下发生

    我们发现 CPSW3G 发送以太网帧 仅在高温 (85°C) 下失败。

    但现在以太网测试 (CPSW3G) 并不知道内核崩溃

    但内核崩溃仍然发生与“wifi 模块“集成,这是另一种情况。

    请参考

    https://e2e.ti.com/support/processors-group/processors---internal/f/processors---internal-forum/1516732/am620-q1-do-we-have-any-tools-to-help-analysis-kernel-panic-w-virtual-address-mapping-error/5856498#5856498

    Gibbs

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

    嗨、Gibbs、

    感谢您的澄清。 我将关闭该主题、让我们继续处理其他主题。