27. HW TPM で接続した IoT Edge の接続障害トラブルシューティング
はじめに
今回は、前回の記事で解決できなかった、netenvutil の Reported Properties 更新できない問題、Simulated Temperature Sensor のテレメトリデータ送信できない問題の解決を試みます。
障害調査
前回の記事は、以下の文面で寸止めしています。
netenvutil にしろ、Simulated Temperature Sensor にしろ、IoT Hub との通信は、edgeHub を介して行います。この二つのモジュールと edgeHub の間の通信は、二つのモジュールのログから察するに、問題なく実行できているようです。 edgeHub も、この二つと同様、Docker Container で、
IoT Hub との接続に失敗しているのはこの Docker Container という事になります。
前の方の記事で、I2C で接続されたセンサーへのアクセスの際、ホスト側のデバイスのバインドやディレクトリのバインドを行いました。TPM も HW なので、何らかの設定が必要なのでは?ということで、こちらを調べていきます。
先ず、ここから調べていきます。
Docker Container からの HW TPM へのアクセス
ネット上でこのトピックを検索してみましたが、ほとんど有用な情報は得られませんでした。唯一見つけられたのは、
you can mount /var/run/dbus/system_bus_socket from host to docker container . just as -v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
という記述のみ。う~ん…
TPMに関わるデバイスは、Ubuntu 上で
$ sudo ls -la /dev/tpm*
crw-rw---- 1 aziottpm root 10, 224 1月 11 09:09 /dev/tpm0
crw-rw---- 1 aziottpm tss 253, 65536 1月 11 09:09 /dev/tpmrm0
この二つです。
edgeHub の生成オプションに TPM アクセスに必要と思われる設定を追加してみる
前の方の記事で、I2C のセンサーにアクセスした時の設定の類推から、この二つのデバイスのバインド指定と、上のdbus のマウント指定をすれば良いのでは?という事で、edgeHub の Docker Container 生成オプションにその設定を加えてみます。この設定は、Azure Portal で以下の手順で行います。
ここから先は
Azure の最新機能で IoT を改めてやってみる
2022年3月にマイクロソフトの中の人から外の人になった Embedded D. George が、現時点で持っている知識に加えて、頻繁に…
この記事が気に入ったらチップで応援してみませんか?