こんにちは、
私はQorIQ T1024プロセッサを搭載したカスタムボードを持っており、Linuxカーネルバージョン5.4.3(ソース https://github.com/nxp-qoriq/linux)を搭載しています。現在、カーネルバージョン6.6.52(ブランチlf-6.6.y)への移行を試みています。新しいカーネルは正常に起動し、イーサネット接続(100Mb、全てのデュプレックス、自動無効)以外はすべて正常に動作します。SSHやSFTP(大容量ファイルの転送)を使用した通常の通信は正常に動作します。しかし、トラフィックが大量に発生すると、再起動するまで接続が停止してしまいます。なお、これは送信方向でのみ発生します。PCからターゲットへの方向でiperfテストを実行する場合、高トラフィック時でもRX方向は正常に動作します。5.4.3カーネルではこの問題は発生しませんでした。ターゲット->方向にiperfテストを制限ビットレート1Mb/sで実行すると、eth接続は持ちこたえますが、フルビットレートになるとそのイーサネット接続が即座に動作しなくなり、PCにpingも送信できなくなります。インターフェースは依然としてUP(ipリンクコマンド)として表示されます。インターフェースの統計(ethtool -S
トラフィックが多い場合、処理が停止すると、レジスタ FMQM_PnS のビット PBSY_DF が設定され、クリアされません。ドキュメントによると、Qmanからの返答が届かなかったことを示しています。トラフィック量が多い場合、送信方向のリソースの割り当て/解放に何らかの問題が発生し、ロック状態が続くようです。ドライバーはハードウェアやロック、システムリソースを待つ間に詰まっているようです。復旧するには再起動するしかない。インターフェースを上下に設定しても効果がありません。
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以降の公式リリースはなく、その製品ラインナップのSDKsアップグレード計画も継続していません。
つまり、T1024、DPAA、FMAN、QMan、またはBManのコードが存在することです lf-6.6.yこれは、NXPがそのカーネルブランチにおけるT1024の動作を検証したと解釈すべきではありません。パブリック nxp-qoriq/linux リポジトリは一般的なQorIQ Linuxツリーですが、分岐の内容だけでは6.6.xのT1024サポートや検証を確立できません
これはPHYや自己陰負の問題ではありません。証拠はTX DPAA/QManが検証されていないT1024カーネルベースライン上でハングしていることを示しており、実務的な方法は動作するサポート/検証済みベースラインに留まるか、カスタムメンテナンスとして6.6ポートをデバッグすることです。