2397586_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2397586_zh-CN

2397586_zh-CN

LX2160A 获取 MP 密钥失败

您好,NXP,

我们正在构建基于LLDP的LX2160A安全启动系统,并验证MP密钥功能。

在我们的 LX2160A 板上安装并启动安全启动系统没有问题,因此我们认为 ITS 位值为 1,但在执行“mp_app -p”命令后出现“设备未初始化”错误。

截圖 2026-07-22 15.50.34.png截圖 2026-07-22 15.50.34.png

您有什么建议可以帮我检查这个问题吗?


谢谢!

杰弗里


Re: LX2160A get MP key failed

客户是否遵循了 LLDP 文档第 6.4.4 节?

 

screenshot-1.pngscreenshot-1.png


例如

  1. 在 Linux 提示符下运行 tee-supplicant & 命令。
  2. 根据所使用的 Linux 内核版本,从正确的文件夹运行 insmod securekeydev.ko 脚本。

请让客户在运行“mp_app”时启用内核 printk,并分享他们的日志。

echo 8 > /proc/sys/kernel/printk

dmesg

Re: LX2160A get MP key failed

王一平你好,

是的,我们在执行 mp_app 命令之前启动 tee-supplicant 并加载 securekeydev.ko。

截圖 2026-07-24 14.22.00.png截圖 2026-07-24 14.22.00.png





















以下是 dmesg 信息。

截圖 2026-07-24 14.22.27.png截圖 2026-07-24 14.22.27.png


杰弗里

Re: LX2160A get MP key failed

请参考AE团队的以下更新。

从客户的反馈中,我看到“错误:caam_submit_mp_get_pub_key_op:submit_job”,这表明向 SEC 发送作业失败。

请客户在其Linux系统中执行以下测试:
1. 运行 xtest,看看有没有错误报告?
2. 请运行“modprobe caam”为LX2160安装caam模块,如果安装模块失败,请更新与您的内核版本兼容的模块。
3.如果也报告错误,请应用以下补丁检查 高效密码学标准(SEC) 返回结果以确定错误类型,并分享其完整日志。

diff --git a/securekeydev/securekey_caam.cb/securekeydev/securekey_caam.c索引 b82acd3..d657742 100644
 --- a/securekeydev/securekey_caam.c+++ b/securekeydev/securekey_caam.c@@ -59,12 +59,14 @@ static int submit_job(struct device *jrdev, uint32_t *desc)

 /* 调用 caam_jr_enqueue 函数,将作业描述符头加入队列。 */
 ret = caam_jr_enqueue(jrdev, desc, caam_op_done, NULL);
 + pr_err( "caam_jr_enqueue ret (%d)\n" , ret);
如果(!ret)
 wait_for_completion_interruptible(&comp);
别的
返回ret;

 ret = job_comp_status;
 + pr_err( "job_comp_status 返回 (%d)\n" , ret);
返回ret;
 }

此致,

Re: LX2160A get MP key failed

关于您的评论,

1. 运行 xtest,看看有没有错误报告?

请参考附件中的xtest日志。


2. 请运行“modprobe caam”为 LX2160 安装 caam 模块,如果安装模块失败,请更新与您的内核版本兼容的模块。

我们已经在内核中构建了 caam 模块。


3.如果也报告错误,请应用以下补丁检查 高效密码学标准(SEC) 返回结果以确定错误类型,并分享其完整日志。

关于 caam 和 mp_app 的 dmesg 返回如下信息。

截圖 2026-07-29 16.03.42.png截圖 2026-07-29 16.03.42.png截圖 2026-07-29 15.53.07.png截圖 2026-07-29 15.53.07.png

 
谢谢!
Re: LX2160A get MP key failed

1. 请确保 caam job ring 在 Linux 内核中运行良好,请运行以下命令检查 caam jr 中断是否增加。

root@localhost:~# cat /proc/interrupts | grep jr
 378: 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 172 Level 8010000.jr
 379: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 173 Level 8020000.jr
 380: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 174 级 fsl-jr0
 root@localhost:~#
 root@localhost:~#
 root@localhost:~# dd if =/dev/hwrng of=/tmp/random.dat bs=1 count=16
 16+0 条记录
16+0 条记录
复制了 16 字节,耗时 0.000420759 秒,速度为 38.0 kB/秒
root@localhost:~#
 root@localhost:~#
 root@localhost:~# cat /proc/interrupts | grep jr
 378: 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 172 Level 8010000.jr
 379: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 173 Level 8020000.jr
 380: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 GICv3 174 级 fsl-jr0
 root@localhost:~#

2. 在 submit_job() 中,被调用的函数 caam_jr_enqueue() 在成功时返回 (-EINPROGRESS = -115)。请尝试应用以下补丁来检查 caam enqueue 返回结果。
https://github.com/nxp-qoriq/linux/commit/4d370a1036958d7df9f1492c345b4984a4eba7f6#diff-8acc41c53445...

diff --git a/securekeydev/securekey_caam.cb/securekeydev/securekey_caam.c索引 b82acd3..808e8da 100644
 --- a/securekeydev/securekey_caam.c+++ b/securekeydev/securekey_caam.c@@ -59,12 +59,14 @@ static int submit_job(struct 设备 *jrdev, uint32_t *desc)

 /* 调用 caam_jr_enqueue 函数,将作业描述符头加入队列。 */
 ret = caam_jr_enqueue(jrdev, desc, caam_op_done, NULL);
 -如果(!ret)
 + pr_err( "caam_jr_enqueue ret (%d)\n" , ret);
 +如果(ret == -EINPROGRESS)
 wait_for_completion_interruptible(&comp);
别的
返回ret;

 ret = job_comp_status;
 + pr_err( "job_comp_status 返回 (%d)\n" , ret);
返回ret;
 }
Re: LX2160A get MP key failed

1. 请确保 caam job ring 在 Linux 内核中运行良好,请运行以下命令检查 caam jr 中断是否增加。

答:是的

截圖 2026-07-31 17.33.06.png截圖 2026-07-31 17.33.06.png

2. 在 submit_job() 中,被调用的函数 caam_jr_enqueue() 在成功时返回 (-EINPROGRESS = -115)。请尝试应用以下补丁来检查 caam enqueue 返回结果。

答:我们的系统使用 Linux 内核 v5.15.71-rt51,似乎不需要进行任何额外的补丁。


3. 此外,运行 mp_app -p 命令后,进程在 wait_for_completion_interruptible() 处停止,目前仍在等待返回。


截圖 2026-07-31 17.33.36.png截圖 2026-07-31 17.33.36.png 




Re: LX2160A get MP key failed

请仔细检查您的内核源代码。
caam_jr_enqueue() 在此分支中具有更新返回值。
https://github.com/nxp-qoriq/linux/blob/95448dd0dc9b621ae027cbefedaaa7c3d0d3ad2d/drivers/crypto/caam...

Re: LX2160A get MP key failed

请参考AE团队的以下更新。

1. 团队确认此功能只能在 LS1046A 板上执行,如 LSDK 文档所述。
2. 从 LX2160 和 LS1046 的客户运行日志来看,这两款机器都运行的是 LSDK20.04 版本。内核版本 4.19,caam_jr_enqueue() 在此版本中返回 0,无需应用我的补丁。
https://github.com/nxp-qoriq/linux/blob/94e0473db2feed7ed6b84848c8d227faf72297c2/drivers/crypto/caam...
3. 我这边还需要进一步测试。

有调查结果后会更新。

Re: LX2160A get MP key failed

请参考AE团队的以下更新。

客户可以通过 u-boot 'md' 命令检查 ITS 位是否已启用。
md 0x1e80200

客户可以共享caam_jr_enqueue()函数源代码吗?源代码路径是“linux/drivers/crypto/caam/jr.c”。
或者他们可以分享他们的源代码链接。

Re: LX2160A get MP key failed

我们检查了所有驱动程序/加密/caam 源文件,它们都相同。

我们通过如下的 uboot 脚本启用 ITS。

mw.l 0x1e80200 0x4

mw.l 0x1e80020 0x2


你认为智能交通系统(ITS)的激活过程是否未完成?



Re: LX2160A get MP key failed

注册值请参见下方,jr.c 源代码请参见附件。

list_register.pnglist_register.png

Re: LX2160A get MP key failed

我们已经按照您之前提到的方法修补了 submit_job(),结果是在运行“mp_app -p”后,程序会在“wait_for_completion_interruptible”处停止。

根据 LSDK 和 LLDP 用户手册中的描述,安全应用程序在 LS1046ARDB 平台上已得到充分验证,我们在 LS1046 板上使用 LSDK 验证了此问题,并且它运行正常。

lx1046_mp_key.pnglx1046_mp_key.png

使用 LSDK 验证我们的另一个 LX2160 产品,它也会在“wait_for_completion_interruptible”处停止。

lx2160_lsdk.pnglx2160_lsdk.png

无论使用 LSDK 还是 LLDP,我们在 LX2160A 平台上都会遇到一些问题。

NXP是否对LX2160A平台进行了网络安全应用验证?

Re: LX2160A get MP key failed

它的某个部分被炸毁了。
检查你的 jr.c 源代码,你需要为 submit_job 应用补丁。

diff --git a/securekeydev/securekey_caam.cb/securekeydev/securekey_caam.c索引 b82acd3..808e8da 100644
 --- a/securekeydev/securekey_caam.c+++ b/securekeydev/securekey_caam.c@@ -59,12 +59,14 @@ static int submit_job(struct 设备 *jrdev, uint32_t *desc)

 /* 调用 caam_jr_enqueue 函数,将作业描述符头加入队列。 */
 ret = caam_jr_enqueue(jrdev, desc, caam_op_done, NULL);
 -如果(!ret)
 + pr_err( "caam_jr_enqueue ret (%d)\n" , ret);
 +如果(ret == -EINPROGRESS)
 wait_for_completion_interruptible(&comp);
别的
返回ret;

 ret = job_comp_status;
 + pr_err( "job_comp_status 返回 (%d)\n" , ret);
返回ret;
 }
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎08-13-2026 06:31 PM
更新者: