inokuchi
2023年6月8日 10時05分
お世話になっております。
BLE Beaconのセンサーのデータをpythonのライブラリのbluepyを使い取得するシステムを製作しております。
このシステムを稼働させているとある日突然bluepyのスキャンできなくなり、データの取得が出来なくなりました。
(プログラム内でスキャンしたデータをそのままリストに入れるようにしていたが、そのリストが空になっていた。)
データが取得できなくなった時にbluetooth.serviceが動いていることは確認しました。
この状態で手を加えることなく稼働させていてもずっとデータが取れず、再起動をしたら下記エラーが発生しました(hci0のdown,up後に再起動)。
(エラー内容)Failed to execute management command 'le on' (code: 17, error: Invalid Index)
エラー発生後にもう一度再起動をするとエラーがなくなりデータが取れるようになっていました。
スキャンが出来なくなった時に下記コマンドを実行すると再度データが取れるようになったことも確認しております。
sudo hciconfig hci0 down
sudo hciconfig hci0 up
スキャンが出来なくなり、再起動したらエラーが出る原因についてご教示頂けますか。
syslogを添付いたしますが、他に必要な情報があればご回答頂きますと幸いです。
よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
syslog.1.txt | scan出来なくなった時のログ(21:00頃発生) |
syslog.txt | 再起動してエラーが出た時のログ |
syslog.txt | エラー発生後に再起動してデータが取れるようになった時のログ |
コメント
inokuchi
お世話になっております。
> この現象につきまして、最初の稼働開始から長時間経過した際に発生したものでしょうか。
> また、現象発生時にbluetooth.service をrestart させた場合、現象は回復するでしょうか。
最初の稼働開始から2,3週間後に発生しました。
そのあとは、1日後だったり1,2週間後だったりまばらに発生しています。
現象発生時にbluetooth.serviceをrestartさせたことがないのでわかりません。
同じ現象が再現できたら確認してみます。
この現象発生時にarmadilloに組み込まれているbluetoorhデバイスをhciconfigコマンドを使い、
down→upした時には、現象が回復することは確認済みです。
以上、よろしくお願いいたします。
at_syunya.ohshio
大塩です。
> 最初の稼働開始から2,3週間後に発生しました。
> そのあとは、1日後だったり1,2週間後だったりまばらに発生しています。
> 現象発生時にbluetooth.serviceをrestartさせたことがないのでわかりません。
> 同じ現象が再現できたら確認してみます。
> この現象発生時にarmadilloに組み込まれているbluetoorhデバイスをhciconfigコマンドを使い、
> down→upした時には、現象が回復することは確認済みです。
この現象につきまして、デバイスの再起動で回復しているため作成されたpythonアプリケーションが原因ではないように思えますが、まだ判断が付かないように見えます。
bluetooth.service
暫定対策としましては、現象発生時にbluetoorhデバイスの再起動(または、bluetooth.service の restart)を組み込んだうえでの長期動作確認をしていただければと思います。
以上です。
inokuchi
お世話になっております。
> この現象につきまして、デバイスの再起動で回復しているため作成されたpythonアプリケーションが原因ではないように思えますが、まだ判断が付かないように見えます。
> bluetooth.service
> 暫定対策としましては、現象発生時にbluetoorhデバイスの再起動(または、bluetooth.service の restart)を組み込んだうえでの長期動作確認をしていただければと思います。
正常にスキャンできているときに、bluetoothctlで直接bluetoothデバイスにスキャンの命令を出したときはセンサーのデータを取得できましたが、この現象が起こった時に同じくbluetoothctlでスキャンをしたら、取得したいセンサーのデータはおろか何1つ周りのbluetooth機器をスキャンすることが出来ませんでした。(スキャン試行回数30回ほど)
これはarmadilloに組み込まれているbluetoothデバイスが原因である可能性が高いといえないでしょうか。
現象が起こる原因がわからないため、まずは上記の暫定対策を実施して長期稼働をしてみたいと思います。
以上、よろしくお願いいたします。
at_syunya.ohshio
大塩です。
> 正常にスキャンできているときに、bluetoothctlで直接bluetoothデバイスにスキャンの命令を出したときはセンサーのデータを取得できましたが、この現象が起こった時に同じくbluetoothctlでスキャンをしたら、取得したいセンサーのデータはおろか何1つ周りのbluetooth機器をスキャンすることが出来ませんでした。(スキャン試行回数30回ほど)
> これはarmadilloに組み込まれているbluetoothデバイスが原因である可能性が高いといえないでしょうか。
> 現象が起こる原因がわからないため、まずは上記の暫定対策を実施して長期稼働をしてみたいと思います。
頂いた情報からアプリケーションが原因ではないと思われるため、こちらでも長期稼働による確認を行います。
以上です。
at_syunya.ohshio
大塩です。
追記します。
BTモジュールのファームウェアのアップデートで動作が改善するかもしれません。
以下を参考にBT のファームウェアのバージョンを上げていただき、動作確認していただけますでしょうか。
https://armadillo.atmark-techno.com/blog/9492/3825
後々、上記作業を行わずに動作確認できるよう、ファームウェアをアップデート可能なパッケージを作成予定です。
また、上記ページの「ファームウェアのバージョンを確認する」を参考に、アップデート前のBTファームウェアバージョンをお教えいただけますと幸いです。
以上です。
at_syunya.ohshio
2023年6月20日 18時42分
大塩です。
返答が遅くなり申し訳ありません。
> BLE Beaconのセンサーのデータをpythonのライブラリのbluepyを使い取得するシステムを製作しております。
> このシステムを稼働させているとある日突然bluepyのスキャンできなくなり、データの取得が出来なくなりました。
> (プログラム内でスキャンしたデータをそのままリストに入れるようにしていたが、そのリストが空になっていた。)
> データが取得できなくなった時にbluetooth.serviceが動いていることは確認しました。
この現象につきまして、最初の稼働開始から長時間経過した際に発生したものでしょうか。
また、現象発生時にbluetooth.service をrestart させた場合、現象は回復するでしょうか。
以上です。