你好,
我有一块定制的电路板,搭载 QorIQ T1024 处理器,运行 Linux 内核版本 5.4.3(来源:https://github.com/nxp-qoriq/linux )。我现在正尝试迁移到内核版本 6.6.52(分支 lf-6.6.y)。新内核启动正常,一切运行正常,但以太网连接(100Mb,全双工,自动协商关闭)除外。使用 SSH 或 SFTP 进行正常流量传输(传输大文件)正常。但是,当网络流量过大时,连接就会停止工作,直到重启电脑才能恢复。请注意,这种情况仅在 TX 方向上发生。即使在流量较高的情况下,运行 iperf 测试时,从 PC 到目标的 RX 方向也能正常工作。我在 5.4.3 内核上没有遇到这个问题。当我以 1Mb/s 的限速运行 iperf 测试,方向为目标 -> PC 时,以太网连接可以保持,但全速运行时,该以太网连接会立即停止工作并卡住,因此我无法再发送数据,也无法 ping 通 PC。接口仍然显示为 UP(ip link 命令)。当我尝试获取接口统计信息(ethtool -S
在高流量情况下,当系统卡住时,寄存器 FMQM_PnS 中的位 PBSY_DF 会被设置,并且不会被清除。文档显示,这意味着 Qman 没有响应。似乎在高流量情况下,TX 方向的资源分配/释放出现了一些问题,导致服务器处于锁定状态。驱动程序似乎在等待硬件、锁或系统资源时卡住了。唯一的恢复方法是重启。放下和抬起接口都无济于事。
我已将Fman微码升级到fsl_fman_ucode_t1024_r1.0_108_4_9.bin,但没有任何效果。
我使用的内核源代码:
旧版本: https://github.com/nxp-qoriq/linux/tree/134788b16485dd9fa81988681d2365ee38633fa2
新增: https ://github.com/nxp-qoriq/linux/tree/e0f9e2afd4cff3f02d71891244b4aa5899dfc786
我的内核 6.6.52 配置片段:
#
# Frame Manager support
#
CONFIG_FSL_SDK_FMAN=y
# CONFIG_FSL_SDK_FMAN_TEST is not set
#
# FMAN Processor support
#
# CONFIG_FMAN_P3040_P4080_P5020 is not set
# CONFIG_FMAN_P1023 is not set
# CONFIG_FMAN_V3H is not set
CONFIG_FMAN_V3L=y
# end of FMAN Processor support
# CONFIG_FSL_SDK_FMAN_RTC_API is not set
# CONFIG_FMAN_MIB_CNT_OVF_IRQ_EN is not set
CONFIG_FSL_FM_MAX_FRAME_SIZE=1522
CONFIG_FSL_FM_RX_EXTRA_HEADROOM=64
# CONFIG_FMAN_PFC is not set
# end of Frame Manager support
CONFIG_FSL_SDK_DPAA_ETH=y
# CONFIG_FSL_DPAA_HOOKS is not set
CONFIG_FSL_DPAA_OFFLINE_PORTS=y
CONFIG_FSL_DPAA_ADVANCED_DRIVERS=y
# CONFIG_FSL_DPAA_ETH_JUMBO_FRAME is not set
# CONFIG_FSL_DPAA_TS is not set
# CONFIG_FSL_DPAA_1588 is not set
CONFIG_FSL_DPAA_ETH_MAX_BUF_COUNT=1024
CONFIG_FSL_DPAA_ETH_REFILL_THRESHOLD=512
CONFIG_FSL_DPAA_CS_THRESHOLD_1G=0x06000000
CONFIG_FSL_DPAA_CS_THRESHOLD_10G=0x10000000
CONFIG_FSL_DPAA_INGRESS_CS_THRESHOLD=0x10000000
CONFIG_FSL_DPAA_ETH_DEBUGFS=y
CONFIG_FSL_DPAA_ETH_DEBUG=y
# CONFIG_FSL_DPAA_DBG_LOOP is not set非常感谢您的帮助。
谢谢你,
吉里
你好,
根据 QorIQ Power Architecture T 系列软件的支持状态,T1024 不应被视为在新版lf-6.6.y上获得官方支持。内核分支。
NXP 对 T1024/T 系列的官方 SDK 支持随着旧版 QorIQ SDK 系列的推出而结束。文档指南指出,在 SDK 2.0-1703 之后,T1024 没有 SDK 版本,而 SDK 2.0-1703 使用的是内核 4.1.35。NXP 指南还指出,较新的 Linux BSP 可能仍然包含与 T1024 相关的文件,但它们并未正式发布以支持 T 系列。NXP 的另一份支持声明称,T 系列产品在 SDK 2.0-1703 之后没有正式版本发布,并且该产品线也没有持续的 SDK 升级计划。
因此, lf-6.6.y中存在 T1024、DPAA、FMAN、QMan 或 BMan 代码。不应将其解释为 NXP 对 T1024 在该内核分支上的运行的验证。公开的nxp-qoriq/linux仓库是一个通用的 QorIQ Linux 代码库,但仅凭分支内容无法证明其对 6.6.x 版本的 T1024 支持或验证。
这不是 PHY/autoneg 问题;证据表明,TX DPAA/QMan 在未经验证的 T1024 内核基线上挂起,因此实际可行的办法要么是继续使用受支持/已验证的工作基线,要么作为自定义维护对 6.6 端口进行调试。