ishiitk
2022年8月2日 19時45分
BT/THオプションに実装されているセキュアエレメント SE050 へのアクセスを試みていますが、うまく動きません。
問題ありそうな点などご教示いただけますでしょうか。
- BT/THオプションを接続した状態で起動
- GPIO28をHighに設定
root@armadillo:~# cat /sys/class/gpio/gpio28/direction out root@armadillo:~# cat /sys/class/gpio/gpio28/value 1
i2cdetect では 0x48 のアドレスを検出
root@armadillo:~# i2cdetect -y 3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
しかしながら、ツールでのアクセスでは失敗します
root@armadillo:~/se05x_mw_v04.02.00_20220701_151557/simw-top_build/imx_native_se050_t1oi2c_openssl_el2go# bin/se05x_Minimal /dev/i2c-3:0x48 App :INFO :PlugAndTrust_v04.02.00_20220524 App :INFO :Running bin/se05x_Minimal App :INFO :Using PortName='/dev/i2c-3: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 App :ERROR:ex_sss_session_open Failed App :ERROR:!ERROR! ret != 0.
root@armadillo:~/se05x_mw_v04.02.00_20220701_151557/simw-top_build/imx_native_se050_t1oi2c_openssl_el2go# se05x_getkey 0xF0000111 devcert.pem /dev/i2c-3:0x48 App :INFO :Running se05x_getkey App :INFO :Using PortName='/dev/i2c-3: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
コメント
ishiitk
at_shiita.ishigaki
2022年8月4日 13時37分
石垣です。
> BT/THオプションに実装されているセキュアエレメント SE050 へのアクセスを試みていますが、うまく動きません。
BT/TH オプションに実装されているセキュエレメントは SE050 ではなく A71CH となります。
> - GPIO28をHighに設定
A71CH のリセットピンと接続されている A640 の GPIO は GPIO3_IO28 であり、
GPIO3_IO28 = (3-1) * 32 + 28 = 92 より、設定する GPIO は GPIO92 となります。
デフォルトの dtb では GPIO92 はユーザーランドからレベルを変化させることができませんが、
dtb で正しくリセットピンとして設定してありますので、ユーザーランドからレベルを変化させる必要はありません。
A71CH のデモに関するドキュメントは以下のファイルから確認することができます。
se05x_mw_v04.02.00_20220701_151557/simw-top/doc/demos/demo-list.html から A71CH に対応しているデモを確認することができ、
実行されていた、bin/se05x_* は A71CH では対応していないようです。
以下の手順で imx_native_a7x_sci2c/bin/ex_a71ch_sss_ecc の動作は確認できました。
※引数で与える i2c のディレクトリがプログラムに渡っていなかったため、直接値を編集しました。