inokuchi
2023年5月23日 18時12分
Armadillo-IoT G3LをSDブートで起動し、IoTセンサーのデータをbluepyを使い取得するシステムを作成しています。
sdカードに第三パーティションをext4でフォーマットし自動マウント設定をしてarmadilloを起動させると、Bluetoothctlでarmadillo内のBluetoothモジュールを認識しなくなりました。(showコマンドを実行すると「No default controller available」と出ます。)
そして、下記エラーが出るようになりセンサーのデータが取得できません。
(エラー内容)Failed to execute management command 'le on' (code: 17, error: Invalid Index)
自動マウント設定を無くすと、Bluetoothが正常に動作し、IoTセンサーのデータを取得することが出来ます。
他のArmadilloを使っても同じエラーが出たのでハードの問題ではないと思います。
Bluetoothが使えなくなり、このエラーが出る原因と対応策についてご教示頂けますか。
起動したときのsyslogを添付いたしますが、他に必要な情報があればご回答頂きますと幸いです。
よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
syslog.txt |
コメント
inokuchi
ご返信ありがとうございます。
下記3点について資料を添付いたします。
>
> ・正常時、異常時のdmesgコマンドの結果をいただけますでしょうか?
>
> ・SDカード第3パーティションの自動マウントに依存しているようですが
> どのようにマウントしているでしょうか?(/etc/fstabに記載?)
> 手順、又は設定いただけますでしょうか?
>
> ・こちらでも環境を合わせて再現確認をしたいと思います
> 以下3つのコマンド結果をいただけますでしょうか?
> uname -a
> cat /etc/debian_version
> dpkg -l|grep bluez
>
ご確認の程、よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
正常時のdmesg.txt | |
異常時のdmesg.txt | |
自動マウント手順.txt | |
環境.txt |
at_koseki
at_koseki
古関です。
以下2つのどちらかの対処を行い、
問題が改善されるかご確認お願いできますでしょうか。
■ 案1 systemd unitファイル修正
[Unit] Description=SDCard After=ti-uim.service ★これを追加 [Mount] What=/dev/mmcblk0p3 Where=/mnt/sd Type=ext4 Options=noatime [Install] WantedBy=multi-user.target
■ 案2 Linux-Kernel修正
以下のLinux-Kernelイメージファイルを使って起動するか
https://download.atmark-techno.com/~koseki/g3l-fix-bt/uImage
https://download.atmark-techno.com/~koseki/g3l-fix-bt/armadillo_iotg_g3…
添付のパッチ「fix-bt.patch」を当てたLinux-Kernelイメージをビルドして使用する。
■ 原因
systemdでmount処理を追加したことで、BT動作に必要な
ti-uim.serviceサービスが起動するタイミングが変わり
BTデバイスの初期化がタイムアウトしてしまっているようです。
案1の場合、ti-uim.servicの後にSDのmount処理をするようにしているため
SDのmountタイミングが遅くなり、お客様のアプリの動きに問題が出るかもしれません。
問題がある場合、案2を試す方が良いと思います。
(案2は、タイムアウト時間を延ばしたものです。。)
案2を対策として製品アップデートで入れるか検討いたします。
ファイル | ファイルの説明 |
---|---|
fix-bt.patch | Linux-4.9用パッチファイル |
inokuchi
お世話になっております。
> ■ 原因
> systemdでmount処理を追加したことで、BT動作に必要な
> ti-uim.serviceサービスが起動するタイミングが変わり
> BTデバイスの初期化がタイムアウトしてしまっているようです。
>
> 案1の場合、ti-uim.servicの後にSDのmount処理をするようにしているため
> SDのmountタイミングが遅くなり、お客様のアプリの動きに問題が出るかもしれません。
> 問題がある場合、案2を試す方が良いと思います。
> (案2は、タイムアウト時間を延ばしたものです。。)
>
> 案2を対策として製品アップデートで入れるか検討いたします。
>
案1を試したところ、エラーが出ず目的の動作をすることが確認できました。
運用上特に問題なさそうなので案1を採用しようと思います。
今回のエラーについてご対応頂きありがとうございます。
アップデートの検討の方もよろしくお願いいたします。
at_koseki
2023年5月29日 12時59分
古関です。
回答が遅くなってしまい申し訳ございません。
・正常時、異常時のdmesgコマンドの結果をいただけますでしょうか?
・SDカード第3パーティションの自動マウントに依存しているようですが
どのようにマウントしているでしょうか?(/etc/fstabに記載?)
手順、又は設定いただけますでしょうか?
・こちらでも環境を合わせて再現確認をしたいと思います
以下3つのコマンド結果をいただけますでしょうか?
uname -a
cat /etc/debian_version
dpkg -l|grep bluez