こんにちは、
最近、SDKs BSP44 リリースで RDB3 ボードをテストしましたが、カーネル バージョンは v6.6 です。
NVME カードのステータスをテストしたところ、次のエラーが発生しました。
[ 1.839960] pcieポート 0000:00:00.0:AER: IRQ 52で有効
[ 1.845986] nvme nvme0: pci 機能 0000:01:00.0
[ 1.850782] nvme 0000:01:00.0:有効化デバイス (0000 -> 0002)
[ 1.859216] nvme nvme0: SUBNQN フィールドが見つからないか無効です。
[ 1.867590] nvme nvme0: 8/0/0 デフォルト/読み取り/ポーリングキュー
[ 1.878452] s32cc-pcie 40400000.pcie:ホットプラグイベント情報後にPHYエラーが検出されました
そして、CONFIG_PCIEAER を 'y' に設定すると上記のエラーが表示され、 'n' に設定すると上記のエラーが表示されずにボードが正常に起動CANことが分かりました。そしてログが添付されています。
しかし、なぜこのようなことが起こったのか分かりません。問題の確認にご協力いただけますでしょうか?
ありがとうございます
ザンタオ
こんにちは、 @hittzt
返信が遅くなり申し訳ありません。
テストを行うために「Kingston SA2000M8/250 250G SSD」を購入し、問題を再現しました。その理由は、現在AER 機能が正しくサポートされていないためです。
BR
チェイン
こんにちは、 @hittzt
情報をありがとうございます。
実際、別の東芝SSDでは、この問題は再現しませんでした。この問題は、特定のSSDでのみ発生する可能性があります。
あなたの特定の問題について同僚と話し合いましたが、まだ調査中です。
何か発見があれば、参考までに更新します。
BR
チェイン
こんにちは@chenyin_hさん
PCIEAER 構成を無効にしようとすると、次の割り込みステータスが表示されました。
root@nxp-s32g:~# cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
9: 0 0 0 0 0 0 0 0 GICv3 25 レベル vgic
11: 105842 102465 103481 104614 107152 109777 107475 106602 GICv3 30 レベル arch_timer
12: 0 0 0 0 0 0 0 0 GICv3 27 レベル kvm ゲスト vtimer
15: 0 0 0 0 0 0 0 0 GICv3 242 レベル 4009d700.siul2-gpio
18: 0 0 0 0 0 0 0 0 GICv3 332 エッジ Arm-scmi.0.車載
21: 0 0 0 0 0 0 0 0 GICv3 102 レベル 401f8000.adc
22: 0 0 0 0 0 0 0 0 GICv3 103 レベル 402e8000.adc
23: 0 0 0 0 0 0 0 0 GICv3 23 レベル arm-pmu
24: 666 0 0 0 0 0 0 0 GICv3 40 レベル eDMA tx0_15
25: 0 0 0 0 0 0 0 0 GICv3 41 レベル eDMA tx16_31
26: 0 0 0 0 0 0 0 0 GICv3 42 レベル eDMA エラー
27: 0 0 0 0 0 0 0 0 GICv3 43 レベル eDMA tx0_15
28: 0 0 0 0 0 0 0 0 GICv3 44 レベル eDMA tx16_31
29: 0 0 0 0 0 0 0 0 GICv3 45 レベル eDMA エラー
30: 248 0 0 0 0 0 0 0 GICv3 124 レベル 401e4000.i2c
31: 0 0 0 0 0 0 0 0 GICv3 126 レベル 401ec000.i2c
32: 17 0 0 0 0 0 0 0 GICv3 128 レベル 402dc000.i2c
34: 0 0 0 0 0 0 0 0 GICv3 160 レベル PCIe PME
35: 22 0 0 0 0 0 0 0 MBI-PCI-MSIX-0000:01:00.0 0 エッジ nvme0q0
36: 8 0 0 0 0 0 0 0 MBI-PCI-MSIX-0000:01:00.0 1 エッジ nvme0q1
37: 0 1 0 0 0 0 0 0 MBI-PCI-MSIX-0000:01:00.0 2 エッジ nvme0q2
38: 0 0 18 0 0 0 0 0 MBI-PCI-MSIX-0000:01:00.0 3 エッジ nvme0q3
39: 0 0 0 10 0 0 0 0 MBI-PCI-MSIX-0000:01:00.0 4 エッジ nvme0q4
40: 0 0 0 0 14 0 0 0 MBI-PCI-MSIX-0000:01:00.0 5 エッジ nvme0q5
41: 0 0 0 0 0 12 0 0 MBI-PCI-MSIX-0000:01:00.0 6 エッジ nvme0q6
42: 0 0 0 0 0 0 1 0 MBI-PCI-MSIX-0000:01:00.0 7 エッジ nvme0q7
43: 0 0 0 0 0 0 0 7 MBI-PCI-MSIX-0000:01:00.0 8 エッジ nvme0q8
44: 0 0 0 0 0 0 0 0 GICv3 156 レベル s32cc-pcie-hot-unplug
45: 0 0 0 0 0 0 0 0 GICv3 164 レベル s32cc-pcie-hotplug
48: 0 0 0 0 0 0 0 0 GICv3 132 レベル fccu_alarm
49: 0 0 0 0 0 0 0 0 GICv3 133 レベル fccu_misc
50: 0 0 0 0 0 0 0 0 GICv3 118 レベル 401d8000.spi
51: 0 0 0 0 0 0 0 0 GICv3 122 レベル 402d0000.spi
52: 0 0 0 0 0 0 0 0 GICv3 64 レベル 0.spi
61: 0 0 0 0 0 0 0 0 GICv3 89 レベル終了0:mac
62: 1499 0 0 0 0 0 0 0 GICv3 91 レベル終了0:rx-0
63: 0 0 0 0 0 0 0 0 GICv3 93 レベル終了0:rx-1
64: 0 0 0 0 0 0 0 0 GICv3 95 レベル終了0:rx-2
65: 0 0 0 0 0 0 0 0 GICv3 97 レベル終了0:rx-3
66: 0 0 0 0 0 0 0 0 GICv3 99 レベル終了0:rx-4
67: 0 0 0 0 0 0 0 0 GICv3 90 レベル終了0:tx-0
68: 0 0 0 0 0 0 0 0 GICv3 92 レベル終了0:tx-1
69: 1 0 0 0 0 0 0 0 GICv3 94 レベル終了0:tx-2
70: 0 0 0 0 0 0 0 0 GICv3 96 レベル終了0:tx-3
71: 0 0 0 0 0 0 0 0 GICv3 98 レベル終了0:tx-4
72: 0 0 0 0 0 0 0 0 GICv3 243 レベル 44064000.usb
73: 0 0 0 0 0 0 0 0 GICv3 153 レベル rtc
74: 0 0 0 0 0 0 0 0 GICv3 152 レベル 400a8000.tmu
75: 7170 0 0 0 0 0 0 0 GICv3 68 レベル mmc0
76: 0 0 0 0 0 0 0 0 GICv3 147 レベル s32cc_ddr_perf_pmu
77: 1 0 0 0 0 0 0 0 GICv3 226 エッジ PFE BMU IRQ
80: 18 0 0 0 0 0 0 0 GICv3 222 エッジ pfe-hif-0:共有
81: 1409 0 0 0 0 0 0 0 GICv3 223 エッジ pfe-hif-1:excl
82: 0 0 0 0 0 0 0 0 GICv3 224 エッジ pfe-hif-2:excl
83: 0 0 0 0 0 0 0 0 GICv3 206 レベル rxin_fifo_0_7
84: 0 0 0 0 0 0 0 0 GICv3 207 レベル rxin_fifo_8_15
90: 0 0 0 0 0 0 0 0 GICv3 204 レベル linflex_irq
91: 0 0 0 0 0 0 0 0 GICv3 203 レベル lpspi_irq
IPI0: 54768 52807 51048 54161 57014 57239 60500 55862 割り込みの再スケジュール
IPI1: 399446 405813 368876 278209 358055 344725 336507 394790 関数呼び出し割り込み
IPI2: 0 0 0 0 0 0 0 0 CPU停止割り込み
IPI3: 0 0 0 0 0 0 0 0 CPU停止NMI
IPI4: 0 0 0 0 0 0 0 0 タイマーブロードキャスト割り込み
IPI5: 43932 34401 32135 33969 37469 40678 40230 34483 IRQ作業割り込み
IPI6: 0 0 0 0 0 0 0 0 CPUバックトレース割り込み
IPI7: 396 2811 3105 3106 3098 3086 3034 3106 KGDBラウンドアップ割り込み
エラー: 0
お役に立てれば幸いです。
ありがとうございます
ザンタオ
こんにちは@chenyin_hさん
「phy error」メッセージのため、ボードにログインしてアクセスすることができず、割り込みステータスがわかりません。
ありがとうございます
ザンタオ
こんにちは、 @hittzt
ご確認いただきありがとうございます。
/proc/interrupts の出力を含む完全なログも共有していただけますか?
BR
チェイン
こんにちは@chenyin_hさん
以前添付したログが示すように、NVMe カードは認識できますが、phy エラーが永久ループで出力され、通常のログイン失敗が発生します。SO、その状態では NVMe カードは動作可能ではないと思います。
ありがとうございます
ザンタオ
こんにちは、 @hittzt
ご確認いただきありがとうございます。
もう 1 つ質問があります。お客様側で構成を有効にしたときに警告/エラー ログが見つかった場合、NMVE はシステムによって適切に認識されるでしょうか。fdisk、cp 関連のコマンドを使用して検出および操作できるでしょうか。
BR
チェイン
こんにちは@chenyin_hさん
早速確認していただきありがとうございます。
使用したNVMeカードはKingston SA2000M8/250 250G SSDカードです。
はい、CONFIG_PCIEAER=y を設定するだけで問題は発生するはずです。
ありがとうございます
ザンタオ
こんにちは、 @hittzt
ご返信ありがとうございます。
1. はい、有効にしました。CONFIG_PCIEAER=y
2. 再度テストしたところ、おっしゃる通り設定を有効にすると、デバイスはPCIeデバイスとして検出されますが、「ホットプラグイベント後にPHYエラーが検出されました」のようなエラーログは見つかりません。NVMEはシステムによって正しく認識されないことが分かりました。
いずれにせよ、有効にすると問題が発生しているようですので、さらに確認させてください。使用した SSD の詳細情報を提供してもらえますか?BSP44 によって提供されるデフォルトのカーネル構成に CONFIG_PCIEAER=y のみが追加されますか?
BR
チェイン
こんにちは@chenyin_hさん
テストには M.2 M キー スロットを使用しましたか。私も M.2 NVMe カードが 1 枚しかないので、別の NVMe SSD を見つけてテストしてみます。
PCIEAER 構成を有効にしましたか?
ありがとうございます
ザンタオ
こんにちは、 @hittzt
ご返信ありがとうございます。
RDB3 でも同様のテストを実行しましたが、そのようなエラーは見つかりませんでした。ただし、手元に SSD が 1 台しかないため、1 種類の SSD のみをテストしました。
試用のために別の SSD に変更することは可能でしょうか?
BR
チェイン
こんにちは@chenyin_hさん
はい、NVMe カードに M.2 Mkey スロットを使用し、デフォルトの hwconfig を使用しました。
=> pri hwconfig
hwconfig=serdes0:mode=pcie,clock=ext;pcie0:mode=rc;serdes1:mode=xpcs0&xpcs1,clock=ext,fmhz=125;xpcs1_0:speed=2G5;xpcs1_1:speed=2G5
同様の問題が発生するかどうかを確認するために、BSP43 イメージをテストしてみます。
ありがとうございます
ザンタオ
こんにちは、 @hittzt
ご投稿ありがとうございます。
どのような種類の Serdes 設定を使用しているか教えていただけますか?NVME は serdes0lan1 の M.2 インターフェース経由で使用されていると想定していますか?
BSP43 でも同様の問題が見つかったかどうか教えていただけますか?
BR
チェイン