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.

[参考译文] AM6548:AM6548 ICSSG 以太网驱动程序问题

Guru**** 2455560 points
Other Parts Discussed in Thread: AM6548

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1477144/am6548-issue-with-am6548-icssg-ethernet-driver

器件型号:AM6548

工具与软件:

尊敬的 TI 支持团队:

我写信给您、想就我在 AM6548平台上遇到的问题寻求帮助。 我观察到的行为与以下论坛主题中讨论的问题类似:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1158425/am6548-icssg-ethernet-driver-crash

具体来说、在系统引导后、尽管配置正确、一组网络接口偶尔仍无法访问(无法 ping)。 此外、在执行"ifconfig ethX down"(其中 ethX 指受影响的接口)时、系统会触发内核错误、并显示以下错误消息:

"lib/genalloc.c:254中的内核错误!"

此问题看似零星存在、并会影响平台上网络功能的稳定性。  

感谢您花时间帮助解决这一问题。 如果您需要任何进一步的详细信息或日志文件、请告知我。

提前感谢您的支持。

此致、

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

    您好、Jack:

    您使用的 SDK 是哪个版本?

    您使用的是什么电路板、该电路板的版本是什么? 如果您不确定、请给电路板拍照。

    此致、

    Nick

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

    你好 Saulnier

    下面是我的错误消息和 SDK 版本。 如果您需要任何其他信息、请告诉我。

    SDK Ver:ti-processor-sdk-linux-rt-am65xx-evm-08_00_00_02

    错误日志:

     [ 208.301290] lib/genalloc.c:254中存在内核错误!
    [209.301521] Internal error: Oops - bug: 0 [#1] preempt_RT SMP.
    [ 209.316203] Modules linked in:drv_misc (O) xhci_plat_hcd xhci_hcd usbcore rpmsg_char ti_am335x_adc kfifo_buf omap_rng_core dwc3 udc_core irq_core irq_prdev_intc
    [209.359652] CPU: 1 PID: 948 Comm: IP detailed: G W O 5.10.41-rt39-g0701a5b58c #19.
    [ 209.368162]硬件名称:德州仪器(TI) AM654基板(DT)
    [ 209.374327] pstate:20000005 (NzCv daif -pan -uao -tco BTYPE=-)
    [209.380322] PC : gen_pool_destroy+0xa8/0xe0
    [ 209.384505] lr : gen_pool_destroy+0xa0/0xe0
    [209.388679] sp : ffffff800011ca3260.
    [209.391983] x29: ffffff800011ca3260 x28: ffff800011ca3780
    [209.397284] x27: ffffff0008072b4fb0 x26: ffff800011a25000
    [209.402585] x25: ffffff0008072b4f80 x24: dead000000000100
    [ 209.407886] x23:dead000000000122 x22:0000000000000007
    [209.413187] x21: ffffff0008072b4fb0 x20: ffff0008072b4fb0
    [ 209.418488] x19:0000000000000200 x18:00000000000000000000
    [ 209.423790] X17:0000000000000000 x16:0000000000000000
    [209.429091] x15:ffffff000816cba2c0 x14:ffffffffffffffffffffffffff
    [209.434392] x13: ffffff80001116714c x12: ffff800011167146.
    [209.439693] x11:0000000000000000 x10:ffff80001105d8c0
    [209.444993] x9 : ffffff800011ca32c0 x8 : ffff800011051cc0
    [209.450294] x7 : 0000000000000000 x6 : ffffffffffffffffffffffffff
    [ 209.455595] x5:0000000000000000 x4:0000000000000000
    [209.460895] x3 : 0000000000000000 x2 : 0000000000000000
    [ 209.466196] x1 : 0000000000000000 x0 : 0000000000000000
    [209.471498]呼叫跟踪:
    [ 209.473936] gen_pool_destroy+0xa8/0xe0
    [ 209.477763] k3_cpi_desc_pool_destroy+0x54/0x98 [icssg_prueth]
    [ 209.483686] prueth_cleanup_rx_chns.isra.0+0x1c/0x38 [icssg_prueth]
    [209.489948] EMAC_nDO_STOP+0x20c/0x2c8 [icssg_prueth]
    [ 209.494995]__dev_close_mani+0xac/0x138
    [ 209.498916]_DEV_CHANGE_FLAGS+0xb0/0x1c0
    [ 209.503006] DEV_CHANGE_FLAGS+0x24/0x68
    [ 209.506832] DO_setlink+0x610/0xd58
    [ 209.510313]_rtnl_newlink+0x3f8/0x790
    [ 209.514140] rtnl_newlink+0x4c/0x78
    [209.517621] rtnetlink_rcv_msg+0x118/0x338
    [ 209.521707] netlink_rcv_skb+0x58/0x118
    [ 209.525537] rtnetlink_rcv+0x18/0x28
    [ 209.529107] netlink_unicasting+0x1bc/0x278
    [ 209.533022] netlink_sendmsg+0x1a4/0x3b0
    [ 209.536937]___sys_sendmsg+0x250/0x290
    [ 209.540853]__sys_sendmsg+0x80/0xc8
    [ 209.544507]__sys_sendmsg+0x68/0xc0
    [ 209.548074]__ARM64_sys_sendmsg+0x24/0x30
    [209.552163] el0_Svc_common.constprop.0+0x78/0x1a0
    [209.556948] DO_el0_Svc+0x24/0x90
    [209.560256] el0_Svc+0x14/0x20
    [ 209.563305] el0_SYNC_handler+0xb0/0xb8
    [ 209.567131] el0_SYNC+0x180/0x1c0
    [209.570445]代码:aa1303e1 97ffc4e9 eb00027f 54fffd89 (d4210000)
    [ 209.576527]--[结束跟踪000000000003 ]--
    [210.576721] printk:启用同步模式
    [210.585062]注:使用 preempt_count 1退出 IP[948]
    [210.592192] printk:控制台[ttyS2]:打印线程已停止
    [210.599536]------- [剪切于此处]--------
    [210.604149]警告:CPU:1 PID:0 at kernel/RCU/tree.c:626 RCU_EQs_enter.isra.0+0x84/0x90
    [ 210.612412]链接模块:drv_misc (O) xhci_plat_hcd xhci_hcd usbcore rpmsg_char ti_am335x_adc kfifo_buf omap_rng rng_core dwc3 udc_core irq_prdev_intc
    [210.655864] CPU:1 PID:0 Comm:swapper/1污染:G D W O 5.10.41-rt39-g0701a5b58c #19
    [ 210.664806]硬件名称:德州仪器(TI) AM654基板(DT)
    [210.670972] pstate:20000085 (NzCv daIf -pan -uaO -tco BTYPE=-)
    [210.676965] PC : RCU_EQS_ENTER.isra.0+0x84/0x90
    [210.681487] LR : RCU_IDLE_ENTER+0x10/0x20
    [210.685493] sp : ffffff80001129bf50.
    [210.688796] x29:ffff80001129bf50 x28:0000000000000000
    [210.694098] x27:0000000000000000 x26:0000000000000000
    [ 210.699399] x25:0000000000000000 x24:0000000000000000
    [210.704700] x23:0000000000000000 x22:ffff80001103da28
    [210.710001] x21:0000000000000001 x20:ffff00080011d880
    [210.715302] x19:ffffff80001103d948 x18:000000000000000e
    [ 210.720603] x17:00000000000000000001 x16:0000000000000019
    [210.725904] x15:0000000000000004 x14:0000000000000307
    [ 210.731204] X13:0000000000000000 x12:0000000000000001
    [ 210.736505] x11:0000000000000000 x10:0000000000000a50
    [210.741806] x9 : ffffff80001129 bed0 x8 : ffff00080011e330
    [210.747107] x7 : 00000000000000000001 x6 : 00000073d8f41e76
    [210.752407] x5 : 00ffffffffffffffffffffff x4 : ffff80086e899000
    [210.757708] x3 : 4000000000000002 x2 : 4000000000000000
    [210.763009] x1 : ffff800010f07180 x0 : ff00087f7a0180
    [210.768310]呼叫跟踪:
    [210.770748] RCU_EQS_ENTER.ISRA.0+0x84/0x90
    [ 210.774922] RCU_IDLE_ENTER+0x10/0x20
    [ 210.778578] DEFAULT_IDLE_CALL+0x24/0x70
    [ 210.782496] DO_IDLE+0xc8/0x138
    [ 210.785630] CPU_STARTUP_ENTRY+0x24/0x60
    [ 210.789543] secondary_start_kernel+0x15c/0x188
    [210.794067]--[结束布线0000000000000004]--

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

    你好、Nick

    对于我的问题、您有什么想法或想法吗?

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

    Nick、  

    以下 e2e 文章中问题的最终软件修复是什么?  

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1158425/am6548-icssg-ethernet-driver-crash

    是否已在 SDK 8.4中检查修复?  

    BR、丰富

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

    您好、Jack & Rich:

    对这里的延迟答复深表歉意。

    软件版本

    我没有看到8.0或8.4的 RT Linux SDK 版本:
    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-RT AM65X-AM65X

    一般而言、我建议使用最新版本的 SDK。 千兆位 PRU 以太网代码一直在积极开发。 SDK 8.6针对之前的 SDK 8.x 版本中可能会出现的行为进行了很多错误修复、但 SDK 9.3将具有最新版本的代码。

    请确认您使用的是 AM65x SR2、而不是 SR1  

    我们仅支持客户使用 AM65x 器件修订版本(SR) 2 (而不是 SR1)进行生产。 您使用哪种器件进行该测试?

    如果您使用的是 TI EVM、则可以附加电路板的图片、并且能够判断该电路板上的处理器是 SR2还是 SR1。

    SR1和 SR2之间的差异对于 PRU 以太网尤其重要、因为这两个版本之间 PRU 子系统的变化很大。 因此、为 SR2添加的所有修复程序都不能向后应用于 SR1。

    此致、

    Nick

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

    您好、Nick:

    是的、我们确认使用的是 SR2。

    如果我不想重新编译 SDK、还能做些什么来修复此错误?

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

    您好、Jack:

    芯片版本

    好的、感谢您确认芯片版本。

    您可以尝试哪些操作?

    我不确定"重新编译 SDK"是什么意思

    我们不支持将补丁向后移植到以前的 SDK 版本。 我们欢迎您自己这样做、但我将无法 提供帮助。

    首先、我建议使用官方 SDK 版本。 因此、我不建议使用 SDK 8.0或 SDK 8.4、因为我们实际上并未在这些版本上验证 AM65x。 您可以在此处找到官方 RT Linux SDK 版本:
    https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-RT AM65X-AM65X

    如果你 想坚持使用 Linux 内核5.10,我建议测试 SDK 8.6,看看行为是什么样的。 SDK 8.6将包含多个错误修复、这些错误在以前的 SDK 8.x 版本中不存在。

    SDK 9.3/Linux 内核6.1将具有最新的错误修复程序。

    此致、

    Nick