jobata
2021年3月25日 14時26分
お世話になっております。小幡と申します。
Extended Advertising受信機能を検討しており、マニュアルでExtended Advertising受信をご確認されている様でしたので
「ADV_EXT_IND」と「AUX_ADV_IND」の具体的な動作確認手順を教えて頂きたいです。
(たとえば、BlueZのどのコマンドで確認したか?)
■想定構成
Armadillo-640 + BT/THオプションモジュール(WLAN対応)
https://armadillo.atmark-techno.com/option-products/OP-A600-BTTHMOD-01
■マニュアル記載内容
Armadillo-640 製品マニュアル (Debian GNU/Linux 10 対応)
https://armadillo.atmark-techno.com/files/downloads/armadillo-640/docum…
18.7. Armadillo-600 シリーズ BT/TH オプションモジュール
P.185
LE Coded PHY からのアドバタイジングには 、 LE Advertising Extensions 機能を利用します。LE Advertising Extensions で追加され た 8 種類の PDU Type のうち、執筆時点で動作確認済みのものは次の通 りです。 • ADV_EXT_IND • AUX_ADV_IND
コメント
jobata
jobata
実機がとどきましたのでArmadilloでExtended Advertising受信を確認しましたが、
「LE Extended Scan ...」の表示後、何もコンソールで表示が変わらず受信ができていないようです。
手順としては、「armadillo-640_product_manual_ja-1.17.0.pdf 18.7」にて環境構築、
Armadillo起動後、rootでログインし、以下のコマンド入力をしました。
手順やソフト環境に問題ありますでしょうか?
root@armadillo:~# hcitool ext_lescan --passive LE Extended Scan ...
念ため、Advertising受信はどうかと確認したところ
以下の様に送信BLE機器のBDアドレスが表示できました。
root@armadillo:~# hcitool lescan --passive LE Scan ... XX:XX:XX:XX:XX:XX (unknown) XX:XX:XX:XX:XX:XX (unknown) XX:XX:XX:XX:XX:XX (unknown)
□やりたい事
某BLEデバイスが送信する「Extended Advertising(ADV_EXT_IND、AUX_ADV_IND)」を
「Armadillo-640 + BT/THオプションモジュール(WLAN対応)」で受信し、電文情報を取得したい。
□Extended Advertising受信動作確認時のソフト環境
Debian GNU/Linux 9 (stretch)! ・ブートローダー u-boot-a600-console-uart3-v2018.03-at8.imx ※書込み済み ・Linux カーネル Linux version 4.14-at29 ※出荷時のまま ・BT/TH オプションモジュール用 Device Tree Blob armadillo-640_con9_thread-v4.14-at32.dtb ※書込み済み ・Debian GNU/Linux ルートファイルシステム ※出荷時のまま ・bluezのバージョン 5.50-1~bpo9+4 ・firmware-at-btのバージョン 2.1.0
at_akihito.irie
jobata
>Extended Advertisingを送出しているデバイスが正しく動作していることを確
>認できますでしょうか(Armadillo以外のBT5対応デバイスでの受信等)。
某BLE送信デバイスの開発元からお借りたExtended Advertising受信デバイスでは、
Extended Advertising(ADV_EXT_IND、AUX_ADV_IND)の電文を取得できていますので
動作していると判断しています。
今回、Armadillo-640 製品マニュアルと以下の情報により、BlueZのコマンドを使用して確認しました。
ext_lescanサブコマンドをデバックをする方法やBlueZのコマンド以外でExtended Advertising受信を確認する手段等ございますでしょうか?
※受信はしているが、ext_lescanサブコマンドで想定しているデータ形式でない為、読み捨てているケースも0ではないと思っています。
https://armadillo.atmark-techno.com/news/20200717/software-update-a600
BlueZ (5.50-1~bpo9+3)
hcitoolコマンドにext_lescanサブコマンドを追加
hciconfigコマンドにext_leadv/ext_noleadvサブコマンドを追加
>また、複数台Armadillo-640+BT/THオプションモジュールをお持ちでしたら、
>Armadillo間で送受信のテストを行うことで、Armadillo側のハードウェア不良
>であるかどうかの切り分けが可能です。
Armadillo-640+BT/THオプションモジュールが1台しか無いため、
Advertising受信を確認することでArmadillo側のハードウェア不良を確認したつもりです
(Advertising受信はできました)
Advertising受信だけでは、ハードウェア不良の確認として不足でしょうか?
jobata
お世話になっております。
重ねての質問で申し訳ございません。
大変申し訳ございませんが、「2021年5月6日 16時28分」の投稿よりもまずこちらを確認させてください。
質問①
「2021年4月30日 18時31分」」投稿の「Extended Advertising受信動作確認時のソフト環境」は、
問題ありませんでしょうか?
質問②
「2021年4月30日 18時31分」」投稿の手順は、問題ありませんでしょうか?
※640起動後に「hcitool ext_lescan --passive」を入力するのみ
質問③
~~~~やりたいこと~~~~
某BLEデバイスが送信する「Extended Advertising(ADV_EXT_IND、AUX_ADV_IND)」を
「Armadillo-640 + BT/THオプションモジュール(WLAN対応)」で受信し、AUX_ADV_INDの電文情報を取得したい。
~~~~~~~~~~~~~~~~~~~~
上記、やりたい事を実現するための手段をご教示ください。
BT/THオプションモジュールのBTモジュール(EYSKBNZWB)は、USB接続で640と接続していると思います。
そのため、BlueZ を使用せず、640からのUSB通信コマンド発行により、BTモジュール(EYSKBNZWB)を制御する方法もあるかと思います。
アプリケーションノートなどございませんでしょうか?
at_akihito.irie
入江です。
> 質問①
> 「2021年4月30日 18時31分」」投稿の「Extended Advertising受信動作確認時のソフト環境」は、
> 問題ありませんでしょうか?
問題ありません。
> 質問②
> 「2021年4月30日 18時31分」」投稿の手順は、問題ありませんでしょうか?
> ※640起動後に「hcitool ext_lescan --passive」を入力するのみ
アドバタイズ送出側のデバイスが、passive scan可能なものであれば手順に問
題ありません。
ご使用の送出側のデバイスは常にアドバタイズPDUを出し続けているものでしょ
うか。ご確認ください。
> 質問③
> ~~~~やりたいこと~~~~
> 某BLEデバイスが送信する「Extended Advertising(ADV_EXT_IND、AUX_ADV_IND)」を
> 「Armadillo-640 + BT/THオプションモジュール(WLAN対応)」で受信し、AUX_ADV_INDの電文情報を取得したい。
> ~~~~~~~~~~~~~~~~~~~~
> 上記、やりたい事を実現するための手段をご教示ください。
> BT/THオプションモジュールのBTモジュール(EYSKBNZWB)は、USB接続で640と接続していると思います。
> そのため、BlueZ を使用せず、640からのUSB通信コマンド発行により、BTモジュール(EYSKBNZWB)を制御する方法もあるかと思います。
> アプリケーションノートなどございませんでしょうか?
申し訳ございませんが、現時点でBTに関してご紹介できるアプリケーションノー
トはございません。
USB Host(Armadillo)からは、EYSKBNZWBはUSB HCIとして認識されます。
EYSKBNZWBで動作しているソフトウェアのソースはgithubで公開していますの
で、そちらをご参照ください。
https://github.com/atmark-techno/zephyr
jobata
> 質問①
ご回答ありがとうございました。
問題無しとの事で安心しました。
> 質問②
1秒間隔で「Extended Advertising(ADV_EXT_IND、AUX_ADV_IND)」を出しています。
※某BLE送信デバイスの開発元からお借りたExtended Advertising受信デバイスを同時起動にて受信確認済み
> 質問③
>USB Host(Armadillo)からは、EYSKBNZWBはUSB HCIとして認識されます。
ありがとうございます。
HCI(Host Controller Interface)との事で、以下のコマンドを実行してみましたが、「LE Extended Scan ...」の表示以降は、
hcidumpでもHCIのやり取りが無い状態です(「hcitool lescan」では、やり取りはありました)
root@armadillo:~# hcidump -R & [1] 574 HCI sniffer - Bluetooth packet analyzer ver 5.50 device: hci0 snap_len: 1500 filter: 0xffffffff root@armadillo:~# hcitool ext_lescan < 01 41 20 08 00 00 04 01 10 00 10 00 > 04 0E 04 01 41 20 00 < 01 42 20 06 01 01 00 00 00 00 > 04 0E 04 01 42 20 00 LE Extended Scan ...
他に確認するべきこと や やりたい事「AUX_ADV_INDの電文情報を取得」の実現方法をご教示お願いできないでしょうか?
at_akihito.irie
> > 質問②
> 1秒間隔で「Extended
> Advertising(ADV_EXT_IND、AUX_ADV_IND)」を出しています。
> ※某BLE送信デバイスの開発元からお借りたExtended
> Advertising受信デバイスを同時起動にて受信確認済み
上記、AUX_SCAN_REQ無しに常時Advertisingを出しているという理解で良いでしょうか。
> > 質問③
> >USB Host(Armadillo)からは、EYSKBNZWBはUSB
> HCIとして認識されます。
> ありがとうございます。
>
> HCI(Host Controller
> Interface)との事で、以下のコマンドを実行してみましたが、「LE
> Extended Scan ...」の表示以降は、
> hcidumpでもHCIのやり取りが無い状態です(「hcitool
> lescan」では、やり取りはありました)
全く受信できないということは、通信方式等に違いがあるのかもしれません。
BT/THオプションモジュールでLE Long Range機能を利用する場合、以下の制限があります。
- LE Coded PHYのみに対応しています
-- LE 1M PHYおよびLE 2M PHYに非対応です
- LE Coded PHYの符号化方式はS=8のみ対応しています
-- S=2は非対応です
某BLE送信デバイスの通信方式をご確認ください。
jobata
at_akihito.irie
> LE 1M PHYは非対応だと思いますが、「LE 1M PHY」を受信するための
> 対応案はございますでしょうか?(HCIコマンドで設定を変更するなど、、、)
BT/THオプションモジュールのファームウェアを変更する必要があります。ソー
スは先にもお送りしましたが、次の通りです。
https://github.com/atmark-techno/zephyr
こちらでは1M PHYを利用したExtended Advertising送受信を行った実績はあり
ませんが、Coded PHYを固定で使うようになっている箇所を1M PHYに置き変え
ることで動作するようになると思います。
jobata
at_akihito.irie
> 「1M PHY」はBluetooth認証上、必須機能との情報もあるようです。
BT/THオプションモジュールは、Bluetoothの認証を取得していません。
LE Long Range機能を利用するBlueZのコマンドでLE 1M PHY/LE 2M PHYに非対
応であったり、LE Advertising Extensionsで追加されたPDU Typeの全ての動
作確認がなされていません。
詳しくは以下をご参照ください。
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
> BT/THオプションモジュールのファームウェア変更は可能でしょうか?
技術的には可能です。
jobata
at_akihito.irie
2021年3月26日 11時29分
入江です。
> Extended Advertising受信機能を検討しており、マニュアルでExtended Advertising受信をご確認されている様でしたので
> 「ADV_EXT_IND」と「AUX_ADV_IND」の具体的な動作確認手順を教えて頂きたいです。
> (たとえば、BlueZのどのコマンドで確認したか?)
当方では、アドバタイズ送信用のArmadillo-640と受信用のArmadillo-640を用
意し、送信側では
受信側では
を実行して動作確認を行っております。
上記2つのコマンドはLE Coded PHYを用いてアドバタイズメントパケットの送
受信を行うコマンドですので、このコマンドを用いて送受信ができたことを以っ
て「ADV_EXT_IND」及び「AUX_ADV_IND」の動作確認としています。