こんにちは、
私はIMX95 19x19 EVKボードでセキュアブートを有効にする作業に取り組んでいます。SPSDKを使用して画像に署名することに成功しました。さて、ヒューズを書き込む前に、`nxpele` を使用してそれらを読み取ろうとしたのですが、以下のエラーが発生します。
```
$ NXPELE -f MIMx9596 -d uboot_serial -p /dev/ttyUSB2 read-common-fuse --index 136
SPSDKParsingError: SPSDK: レスポンスのメッセージSIZEが無効: 0x4
詳細はデバッグログファイル /home/user/.local/state/spsdk/3.11.0/log/debug.log を参照してください
```
ログには次のように記載されています。
```
$ tail -60 /home/ユーザー/.local/state/spsdk/3.11.0/log/debug.log
raise SPSDKParsingError(f"レスポンスのメッセージサイズが無効です: {hex(size)}")
spsdk.exceptions.SPSDKParsingError: SPSDK: レスポンスのメッセージサイズが無効です: 0x4
DEBUG:spsdk:*************************************************** (開始から206ms、spsdk_logger.py:212)
DEBUG:spsdk:* SPSDK デバッグログ記録開始 2026-09-03 15:58:44 * (開始から 207ms、spsdk_logger.py:213)
DEBUG:spsdk:* SPSDK バージョン: 3.11.0* (開始から207ms、spsdk_logger.py:215)
デバッグ:spsdk:* Python バージョン: 3.14.4* (開始から207ms、spsdk_logger.py:216)
DEBUG:spsdk:* OS バージョン: Linux-6.12.95+deb13-amd64-x86_64-with-glibc2.43 * (開始から208ms、spsdk_logger.py:217)
DEBUG:spsdk:* 最後のコマンド: ['/usr/bin/../lib/spsdk/bin/nxpele', '-f', 'mimx9596', '-d', 'uboot_serial', '-p', '/dev/ttyUSB2', 'read-common-fuse', '--index', '136'] * (開始から 208ms、spsdk_logger.py:218)
DEBUG:spsdk:*************************************************** (開始から208ms、spsdk_logger.py:219)
TRACE:spsdk.uboot.uboot:Uboot書き込み -> 無効 (開始から 210ms、 __init__ .py:50)
デバッグ:spsdk.uboot.uboot:UbootREAD UNTIL <- => (開始から210ms、uboot.py:271)
DEBUG:spsdk.uboot.uboot:チェック中無効なコマンドを送信してシリアルコンソールを開いた場合: "invalid\r\n不明なコマンド 'invalid' - 'help' を試してください\r\nu-boot=> " (開始から 224ms、uboot.py:209)
デバッグ:spsdk.utils.database:現在データベースフィンガープリントハッシュ: f0f0598d4e6ae6c755d693693f232e30537cfb3b (開始から226ms、database.py:1967)
デバッグ:spsdk.utils.database:ロード済みキャッシュからのデータベース: /tmp/spsdk-cache-1001/spsdk/3.11.0/db_data_25a661a55aac_3.11.0.cache (開始から226ms、database.py:1976)
デバッグ:spsdk.utils.misc:読み込み中/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/data/devices/mimx9596/database.yaml からのテキストファイル (開始から 226ms、misc.py:312)
INFO:spsdk.ele.ele_comm:ELEコミュニケーターは、mimx9596のアドレス92800000で196608 Bサイズのバッファを使用しています。リビジョン:最新ターゲット。
デバッグ:spsdk.ele.ele_comm:ELEmsg 0x92800000 0x30000 0602971788000000 (開始から245ms、ele_comm.py:502)
TRACE:spsdk.uboot.uboot:Uboot書き込み -> ele_message 0x92800000 0x30000 0602971788000000 (開始から246ms、 __init__ .py:50)
デバッグ:spsdk.uboot.uboot:UbootREAD UNTIL <- => (開始から246ms、uboot.py:271)
デバッグ:spsdk.ele.ele_comm:RawELEメッセージ出力:
ele_message 0x92800000 0x30000 0602971788000000
060497e1d600000000000000000000200u-boot=> (開始から256ms、ele_comm.py:422)
DEBUG:spsdk.ele.ele_comm:Stripped出力: 060497e1d600000000000000 (開始から256ms、ele_comm.py:460)
デバッグ:spsdk.apps.utils.utils:SPSDK:応答メッセージのサイズが無効です: 0x4 (開始から257ms、utils.py:182)
トレースバック(最新の呼び出し):
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/utils/utils.py",172行目、ラッパー内
retval = function(*args, **kwargs)
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",safe_main の 2189 行目
sys.exit(main()) # pylint: disable=no-value-for-parameter
~~~~^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1631行目、 __call__
return self.main(*args,**kwargs)
~~~~~~~~~^^^^^^^^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1552行目、メイン
rv = self.invoke(ctx)
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py"、2032行目、invoke内
return _process_result(sub_ctx.command.invoke(sub_ctx))
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",1415行目、invoke内
return ctx.invoke(self.callback,**ctx.params)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/core.py",910行目、invoke内
return callback(*args, **kwargs)
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/click/decorators.py",46行目、new_func内
return f(get_current_context().obj, *args, **kwargs)
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",575行目、cmd_read_common_fuse内
ele_read_common_fuse(handler, index)
~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/apps/nxpele.py",588行目、ele_read_common_fuse内
ele_handler.send_message(read_common_fuse_msg)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_comm.py",send_message 関数の 519 行目
msg.decode_response(response)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py",decode_response の 1235 行目
super().decode_response(response)
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
ファイル "/usr/lib/spsdk/lib/python3.14/site-packages/spsdk/ele/ele_message.py",decode_response の 346 行目
raise SPSDKParsingError(f"レスポンスのメッセージサイズが無効です: {hex(size)}")
spsdk.exceptions.SPSDKParsingError: SPSDK: レスポンスのメッセージサイズが無効です: 0x4
「`」
注:私は`SPDK 3.11.0`を使用しています。
SPSDKのGitHubページにも問題を報告しました。https://github.com/nxp-mcuxpresso/spsdk/issues/116#issue-5346231614
どんなご支援でも大変ありがたく思います。
ありがとうございました。
BR、
こんにちは、ジョアンクシー
私はLinux BSPバージョンLF6.18.20_2.0.0(yocto wrynose)を使っています
そして、これが nxpele get-info の出力です。
$ nxpele -f mimx9596 -d uboot_serial -p /dev/ttyUSB2 get-info
ELE get info ends successfully:
Command: 0xda
Version: 4
Length: 256
SoC ID: SocId:Unknown_0x9590 - 0x9590
SoC version: B000
Life Cycle: OEM_OPEN - 0x0010
SSSM state: 4
Attest API version: 0
UUID: bc193865d65e45f193b55cc234303a0f
SHA256 ROM PATCH: d5d2cdc98cb54b64bffb00687edcd994ebfdd762275a66a858d928ae2fcff494
SHA256 FW: 525f972dbb772acd9f461bfc148d29beb5dc2f2e9693ff1b9ace182a8ffd8131
Advanced information:
OEM SRKH: 0000000000000000000000000000000000000000000000000000000000000000
CSAL state: EdgeLock secure enclave random context initialization succeed - 0x02
TRNG state: TRNG entropy is valid and ready to be read - 0x03
OEM PQC SRKH: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000このコマンドでどのELEのFWバージョンを使っているか教えてもらえますか?もう一度確認させてください
この問題を再現し、内部データベースを確認したところ、これは既知の問題であり、spsdk 3.12.0で修正される予定です。