2297524_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2297524_ja-JP

2297524_ja-JP

PCIe: i.MX 95: 複数の MSI IRQ ベクトルを割り当てる

こんにちは、

PCIe2 インスタンス経由でコネクテッドされた i.MX95 ベースのシステムで ATH12K Wi-Fi モジュールを使用しています。

linux-imx lf‑6.12.y ベースのカーネルではこのセットアップは失敗しますが、lf‑6.6.y ベースのカーネルでは期待どおりに動作します。

カーネル ドライバは 16 個の MSI 割り込みを正常に要求し、受信します。しかし、その後、Wi-Fi モジュールの起動に失敗します。

[ 5.888139] ath12k_pci 0001:01:00.0:iommuグループ5に追加
[ 5.888506] ath12k_pci 0001:01:00.0:BAR 0 [mem 0xa10000000-0xa101fffff 64bit]: 割り当て済み
[ 5.888553] ath12k_pci 0001:01:00.0:有効化デバイス (0000 -> 0002)
[ 5.889315] ath12k_pci 0001:01:00.0:MSIベクター: 16
[ 5.889334] ath12k_pci 0001:01:00.0:ハードウェア名: wcn7850 hw2.0
[ 6.475718] ath12k_pci 0001:01:00.0:チップID 0x2 チップファミリー 0x4 ボードID 0xff soc_id 0x40170200
[ 6.475743] ath12k_pci 0001:01:00.0:fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3
[ 7.647106] ath12k_pci 0001:01:00.0:制御応答完了、ポーリングを受信できませんでした。
[ 8.675241] ath12k_pci 0001:01:00.0:サービス接続タイムアウト
[ 8.681002] ath12k_pci 0001:01:00.0:HTTへの接続に失敗しました: -110
[ 8.692180] ath12k_pci 0001:01:00.0:コアの起動に失敗しました: -110

カーネルメーリングリスト[1]では別のPCIeデバイスに関する関連した議論がありましたが、まだ私たちのシステムで動作する構成には至っていません。

どうすれば最善の進め方でしょうか?

再開まで今しばらくお待ちください。

最大

[1] https://lore.kernel.org/all/1819305.VLH7GnMWUR@steina-w/


Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors

こんにちは、

i,MX95 はまだ初期段階であり、一部の構成はデザインされていません。しかし、PCIe2経由でATH12Kを搭載したi.MX95は

lf-6.12.yですが、 lf-6.6.yで作業中ですこれは、新しいカーネルの PCIe または Wi-Fi スタックにおける回帰またはドライバー相互作用の変更を示唆しており、PCIe パワーマネージメント (ASPM)、MSI マッピング、または ATH12K の特定の PCIe エンドポイントの癖に関係している可能性があります。多くの場合、カーネル パッチを適用するか、新しいカーネルのブート引数で ASPM を無効にすることで解決できます。dmesg で PCIe エラーを確認し、デバイスツリーを比較し、NXP/Linux カーネル メーリング リストで関連するコミットを探します。 
考えられる原因とトラブルシューティングの手順を次に示します。
1. カーネルログを確認する ( dmesg )
  • PCIe エラーを探す: 障害が発生した lf-6.12.y カーネルの dmesg で、「PCI」、「MSI」、「ATH12K」、「Error」、「Firmware」、または「Timeout」メッセージを検索します。
  • ファームウェアのロード: ath12kファームウェアが正しくロードされているかどうか、および初期化中にエラーが発生していないかどうかを確認します。 
2. PCIe電源管理(ASPM)
  • 一般的な問題:新しいカーネルでは、多くの場合、Active State パワーマネージメント (ASPM) がデフォルトで有効になっています。これにより、組み込みシステム上の ATH12K などの PCIe デバイス、特に古いファームウェア/ハードウェアで問題が発生する可能性があります。
  • ASPM を無効にしてみてください:カーネル ブート引数 (U-Boot または GRUB など) にpcie_aspm=offを追加して、再度テストします。 
3. Devicetree/DTBの違い
  • DTB の比較:両方のカーネル ( .dtbファイル) で使用されるデバイス ツリー BLOB (DTB) を生成して比較します。特に割り込み、電源ドメイン、または互換性プロパティに関連する、 pci2の PCIe ノードの変更を探します。 
4. カーネルドライバー/ファームウェアの回帰
  • 特定のコミット: ATH12K ドライバ ( ath12k )、 mac80211 、またはlf-6.12.yのコア PCIe/Arm コードによって、セットアップを壊す変更が導入された可能性があります。
  • メーリング リストを検索: ath12ki.MX95 、およびそれ以降のカーネル (6.12+) に関するパッチやディスカッションについては、Linux カーネル メーリング リスト (LKML) および NXP のリストを確認してください。 
5. MSIの取り扱い
  • 割り込み再マッピング:割り込みを受信すると、その処理方法 (MSI-X と MSI、割り込み再マッピング) が微妙に変わる場合があります。
  • proc/interruptsで割り込みをチェックします。カーネル間で割り込みの分布またはカウントが異なるかどうかを確認します。 
6. ファームウェアブロブ
  • ファームウェア バージョン:新しいカーネルのドライバと互換性のある、ATH12K 用の正しいファームウェアを使用していることを確認します。新しいドライバには新しいファームウェアが必要になる場合があります。 
要約すると、 dmesgから始めてASPMを無効にしてみてください。これらは、組み込みプラットフォームの新しいカーネルでPCIe Wi-Fiの障害が発生する最も一般的な原因です。
 
よろしくお願いします。
Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors

提案は問題をデバッグするための良い指針でしたが、解決策を見つけることができませんでした。つまり、すべての MSI IRQ ベクトルがドライバ内の IRQ ルーチンをトリガーしたわけではありません。

最終的には、ath12k ドライバーを変更して、1 つの MSI IRQ のみを要求するようにすることで、この問題を回避しました。

現在の Linux マスターにはこの問題は発生しないことに注意してください。

よろしくお願いします。

最大

Tags (1)
No ratings
Version history
Last update:
‎02-10-2026 03:32 AM
Updated by: