takamura.eiji
2025年7月24日 10時42分
==========
製品型番:AG9130-C03D0
Debian/ABOSバージョン:v3.21.3-at.14
==========
A9E を起動していたのですが、知らないうちにコンテナ内の curl コマンドがエラーを出力するようになっていました。
該当のコンテナ(alpine)はセキュアエレメント(SE050)が使える環境としてセットアップしています。
この環境で通常時の curl コマンドは以下のようになります。
# curl
ssse-flw: EmbSe_Init(): Entry
App :INFO :Using PortName='/dev/i2c-6:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-6:0x48)
sss :INFO :atr (Len=35)
00 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 08
01 00 00 00 00 64 00 00 0A 4A 43 4F 50 34 20 41
54 50 4F
sss :WARN :Communication channel is Plain.
sss :WARN :!!!Not recommended for production use.!!!
ssse-flw: Version: 1.0.5
ssse-flw: EmbSe_Init(): Exit
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
curl: try 'curl --help' or 'curl --manual' for more information
エラー時は以下のような出力になります。
# curl
ssse-flw: EmbSe_Init(): Entry
App :INFO :Using PortName='/dev/i2c-6:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-6:0x48)
smCom :ERROR:Failed writing data (nrWritten=-1).
smCom :ERROR: - Error in I2C Write.....
smCom :ERROR:phNxpEseProto7816_SendRawFrame Error phNxpEse_WriteFrame
smCom :ERROR:TransceiveProcess Transceive send failed, going to recovery!
smCom :ERROR:phNxpEseProto7816_Open failed
smCom :ERROR: Failed to Open session
sss :ERROR:SM_I2CConnect Failed. Status 7012
App :ERROR:sss_session_open failed
App :WARN :nxEnsure:'kStatus_SSS_Success == status' failed. At Line:374 Function:engineSessionOpen
ssse-flw: EmbSe_Init(): Failed to initialize
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
curl: try 'curl --help' or 'curl --manual' for more information
# echo $?
2
この時 SE050 に保存していた鍵を取得しようとすると同じようなエラーになっていました。
# se05x_getkey 0x10 key.pem "$AT_SE_PARAM"
App :INFO :Running se05x_getkey
App :INFO :Using PortName='/dev/i2c-6:0x48' (CLI)
smCom :ERROR:Failed writing data (nrWritten=-1).
smCom :ERROR: - Error in I2C Write.....
smCom :ERROR:phNxpEseProto7816_SendRawFrame Error phNxpEse_WriteFrame
smCom :ERROR:TransceiveProcess Transceive send failed, going to recovery!
smCom :ERROR:phNxpEseProto7816_Open failed
smCom :ERROR: Failed to Open session
sss :ERROR:SM_I2CConnect Failed. Status 7012
App :ERROR:sss_session_open failed
# echo $?
1
上記の事象は A9E を再起動することで直りました。原因やトリガーが不明なのですが対処方法をご教示頂けますか?
コメント
takamura.eiji
> 一点質問ですが、該当のコンテナで「セキュアエレメント(SE050)が使える環境としてセットアップ」なさった際、どのような手順をお使いになったでしょうか?
回答ありがとうございました。
プロジェクトは ABOSDE 1.9.2 環境で作成しています。
C言語プログラムで作成しておりマニュアルの「3.17.2.1. プロジェクトの作成」に沿って進めました。
「app.conf」、「Dockerfile」、「packages.txt」を添付しました。
なおコンテナは1つだけで、OSは「alpine」です(バージョンは 3.22)。
curl 自体は ABOS WebへのREST API での呼び出しに利用しています。
> SE050 に対して、複数のプロセスが同時にアクセスした場合に、上記の症状になることがあります。
> 当社からリリースしている plug & trust パッケージでは、昨年1月に、その問題を回避する対策を加えています:
> https://armadillo.atmark-techno.com/news/20240129/update-aiotg4
> https://armadillo.atmark-techno.com/news/20240129/software-update-aiota…
>
> ただし、armadillo-twin-agent サービスを含め、SE50 をアクセスするプロセスが何も動作していない状態で、お使いの SE050 搭載コンテナで curl がエラーするようになったのであれば、違う要因かも知れません。
同時アクセスが発生するようなことは無い認識です。
また、plug-and-trust-toolsパッケージのバージョンは「4.2.0-r7」でした。
添付ファイルの内容で不備、または他に確認するべき事項があれば教えてください。
以上、何卒よろしくお願いします。
ファイル | ファイルの説明 |
---|---|
app.conf | |
packages.txt | |
Dockerfile.txt | 拡張子無しでアップロードNGでしたので.txtを付与 |
at_shinya.koga
アットマークテクノの古賀です。
takamura.eijiさん:
>>一点質問ですが、該当のコンテナで「セキュアエレメント(SE050)が使える環境としてセットアップ」なさった際、どのような手順をお使いになったでしょうか?
>
>回答ありがとうございました。
>
>プロジェクトは ABOSDE 1.9.2 環境で作成しています。
>C言語プログラムで作成しておりマニュアルの「3.17.2.1. プロジェクトの作成」に沿って進めました。
>「app.conf」、「Dockerfile」、「packages.txt」を添付しました。
>
>なおコンテナは1つだけで、OSは「alpine」です(バージョンは 3.22)。
>curl 自体は ABOS WebへのREST API での呼び出しに利用しています。
...
>また、plug-and-trust-toolsパッケージのバージョンは「4.2.0-r7」でした。
当社からリリースしている plug & trust パッケージをご利用なのですね。了解しました。
>>SE050 に対して、複数のプロセスが同時にアクセスした場合に、上記の症状になることがあります。
>>当社からリリースしている plug & trust パッケージでは、昨年1月に、その問題を回避する対策を加えています:
>> https://armadillo.atmark-techno.com/news/20240129/update-aiotg4
>> https://armadillo.atmark-techno.com/news/2024ぱ0129/software-update-aiot…
>>
>>ただし、armadillo-twin-agent サービスを含め、SE50 をアクセスするプロセスが何も動作していない状態で、お使いの SE050 搭載コンテナで curl がエラーするようになったのであれば、違う要因かも知れません。
>
>同時アクセスが発生するようなことは無い認識です。
>また、plug-and-trust-toolsパッケージのバージョンは「4.2.0-r7」でした。
>
>添付ファイルの内容で不備、または他に確認するべき事項があれば教えてください。
添付して頂いた app.conf を拝見したところ、コンテナアプリケーションから plug & trust を使う場合に必要な設定が抜けていることが分かりました。
armadillo-twin-agent による SE050 アクセスと競合して症状が発生した可能性がありますので、以下の設定を追加して試してみてくださいませ:
・app.conf に次の行を追加
add_volumes /dev/shm:/dev/shm
この設定を追加してからコンテナを稼働させた場合にどうなるか、試してみて頂けますと幸いです。
お手数をかけますが、どうぞ宜しくお願いします。
takamura.eiji
at_shinya.koga
アットマークテクノの古賀です。
takamura.eijiさん:
>>この設定を追加してからコンテナを稼働させた場合にどうなるか、試してみて頂けますと幸いです。
>>お手数をかけますが、どうぞ宜しくお願いします。
>
>回答ありがとうございます。
>試してみたのですが相変わらずエラーは発生します。お手数ですが、他にお気づきの点があればご教示ください。
ご確認有り難うございます。
念のため状況の確認ですが、コンテナの設定を変更して稼働なさったとき、既にエラーが出ている状態だったでしょうか?まだエラーが出ない状態(Armadillo を起動した直後の状態)だったでしょうか。
もし、既にエラーが出ている状態だった場合は、Armadillo を再起動してから再度コンテナを動かしてみてくださいませ。
また、エラーが出る状況ですが、コンテナを起動して最初の curl 実行でエラーするのでしょうか?あるいは、何度か実行しているうちにエラーするようになるのでしょうか。
at_shinya.koga
2025年7月24日 11時30分
アットマークテクノの古賀です。
takamura.eijiさん:
>==========
>製品型番:AG9130-C03D0
>Debian/ABOSバージョン:v3.21.3-at.14
>==========
>A9E を起動していたのですが、知らないうちにコンテナ内の curl コマンドがエラーを出力するようになっていました。
>該当のコンテナ(alpine)はセキュアエレメント(SE050)が使える環境としてセットアップしています。
一点質問ですが、該当のコンテナで「セキュアエレメント(SE050)が使える環境としてセットアップ」なさった際、どのような手順をお使いになったでしょうか?
>この環境で通常時の curl コマンドは以下のようになります。
...
>エラー時は以下のような出力になります。
>
># curl
>ssse-flw: EmbSe_Init(): Entry
>App :INFO :Using PortName='/dev/i2c-6:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-6:0x48)
>smCom :ERROR:Failed writing data (nrWritten=-1).
>
>smCom :ERROR: - Error in I2C Write.....
>smCom :ERROR:phNxpEseProto7816_SendRawFrame Error phNxpEse_WriteFrame
>smCom :ERROR:TransceiveProcess Transceive send failed, going to recovery!
>smCom :ERROR:phNxpEseProto7816_Open failed
>smCom :ERROR: Failed to Open session
>sss :ERROR:SM_I2CConnect Failed. Status 7012
>App :ERROR:sss_session_open failed
>App :WARN :nxEnsure:'kStatus_SSS_Success == status' failed. At Line:374 Function:engineSessionOpen
>ssse-flw: EmbSe_Init(): Failed to initialize
>ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
>curl: try 'curl --help' or 'curl --manual' for more information
># echo $?
>2
>
>この時 SE050 に保存していた鍵を取得しようとすると同じようなエラーになっていました。
>
># se05x_getkey 0x10 key.pem "$AT_SE_PARAM"
>App :INFO :Running se05x_getkey
>App :INFO :Using PortName='/dev/i2c-6:0x48' (CLI)
>smCom :ERROR:Failed writing data (nrWritten=-1).
>
>smCom :ERROR: - Error in I2C Write.....
>smCom :ERROR:phNxpEseProto7816_SendRawFrame Error phNxpEse_WriteFrame
>smCom :ERROR:TransceiveProcess Transceive send failed, going to recovery!
>smCom :ERROR:phNxpEseProto7816_Open failed
>smCom :ERROR: Failed to Open session
>sss :ERROR:SM_I2CConnect Failed. Status 7012
>App :ERROR:sss_session_open failed
># echo $?
>1
>
>上記の事象は A9E を再起動することで直りました。原因やトリガーが不明なのですが対処方法をご教示頂けますか?
SE050 に対して、複数のプロセスが同時にアクセスした場合に、上記の症状になることがあります。
当社からリリースしている plug & trust パッケージでは、昨年1月に、その問題を回避する対策を加えています:
https://armadillo.atmark-techno.com/news/20240129/update-aiotg4
https://armadillo.atmark-techno.com/news/20240129/software-update-aiota…
ただし、armadillo-twin-agent サービスを含め、SE50 をアクセスするプロセスが何も動作していない状態で、お使いの SE050 搭載コンテナで curl がエラーするようになったのであれば、違う要因かも知れません。
以上、ひとまずのコメントです。