Ellisys Bluetooth アナライザ BEX400 システムの能力

2017 年 2 月
ガイロジック株式会社
Ellisys Bluetooth アナライザ BEX400 システムの能力
Bluetooth 全チャネル記録アナライザによる潜在的問題の検出例
本書の目的:
Ellisys BEX400 システムは、Bluetooth の全チャネルを同時に記録するアナライザです。この全チャネル同時
記録の真の能力を引き出すには、使いやすく高度な解析ソフトウェアが必要で、Ellisys Bluetooth Analyzer
Software はその優れたインターフェースと強力な機能で高い評価を得ています。
今回、BEX400 システムのバグではないのか?という疑問から発した問題が、実は製品に潜在的な問題がある
ことを検出した事例を紹介します。今後の製品開発や検証の参考になれば幸いです。
内容
1.
経緯 ....................................................................................................................................................................2
2.
ユーザー様の指摘...............................................................................................................................................2
3.
Ellisys の調査結果 .............................................................................................................................................3
4.
まとめ .................................................................................................................................................................4
図 1: データ 00 で埋められた音声パケット ...................................................................................................2
図 2: タイミング違反の確認 .............................................................................................................................3
Ellisys 社の製品に関するお問い合わせ先:ガイロジック株式会社(0422-26-8211, [email protected])
1. 経緯
あるユーザー様から、Bluetooth 通信を行う音声デバイスのテストを行っているが BEX400 システムに
問題があると以下の報告をうけました。

Ellisys BEX400 システムの Instant Audio で音声を再生すると音声の開始時にノイズが聞こえる。

他社のシングルスニッファーで記録した音声データを再生してもノイズは確認できない。

実デバイスでもノイズは確認できない。

BEX400 のトレースではノイズ発生の箇所に "00 00 00 00 ..." データが記録されている

他社のシングルスニッファーで同時に記録したトレースにはそのようなデータが存在しない。

BEX400 システムは、データを勝手に追加するようなバグがあるのではないか?
Ellisys はユーザー様から提供されたトレースファイルを解析し、
デバイスの潜在的問題を見つけました。
2. ユーザー様の指摘
Ellisys の BEX400 システムで eSCO のデータを確認したところ、音声の出だしの部分にデータ ”00 00
00 00…” のパケットが記録されています。そのために Instant Audio で再生した場合にノイズとして聞こ
えるようです。このようなデータは、他社のシングルスニッファーでは記録されていませんし、実際のデバ
イスでもノイズは聞こえません。
図 1: データ 00 で埋められた音声パケット
確かに、eSCO で使用している 2-EV3 パケットのデータは ”00 00 00 00…” となっています。
3. Ellisys の調査結果
Ellisys の最初の回答は、BEX400 システムは勝手にデータを付加することはないものの、無線環境等に
よってはパットが正常に受信できずにデータ内容が変わることは起こり得る(無線の場合、避けられない
問題)
、というものでした。問題のトレースデータを送っていただき Ellisys で解析し、以下の回答を得まし
た。
ユーザー様の指摘の通りに、Overview でデータ "00 00 00 00 ..." のパケットが確認されます。これらは
BEX400 システムが勝手に追加したものではなく、確かに Bluetooth パケットとして記録されたものです。
結論から言いますと、今回の現象はマスターデバイスに問題があるのが原因だと考えます。汎用の
Bluetooth チップを用いた他社のアナライザは、“マスターからの誤った転送を無視する(パケットを記録
しない)” というスレーブデバイスとして期待される動作をします。Ellisys の BEX400 システムはそれと
は異なり、たとえ Bluetooth の仕様に反していたとしてもデバイスの問題を明らかにするために、デバイ
スが送出したパケットを可能な限り維持します。
下のスクリーンショットを参照してください。
図 2: タイミング違反の確認
オレンジのマーカーは eSCO リンクを開始する LMP コマンドです。eSCO リンクのパケットは黄色く
ハイライトされています。緑色のマーカーは eSCO スロットを示します。赤色のマーカーは最初の eSCO
スロットに続く再送区間の終わりを示します。
マスターはデータが全て 00 の eSCO パケットを 2 回、eSCO リンクの開始と同時に正しい CRC を付
けて送っています。繰り返しますが、これらは BEX400 が生成したものではありません。このパケットは、
ストリーミング バッファが長さ 0 となっていて正しく初期化されておらず、しかし、デフォルト値 00 で
初期化されたいくつかのデータがすでにあったのではないかと推測します。いずれにせよ、バッファのデ
ータがエンコードされたオーディオデータで正しく埋められる前に送られています。
もう一つのマスター固有の問題として、eSCO リンク (LT_ADDR = 7) の最初の二つのパケットのタ
イミングがあります。それらは、すぐ前の eSCO スロットで送られたデータリンク上に通常の ACL パケッ
トがある再送期間内に送られています。それらは先行するパケットに eSCO パケットが存在するか、また
は何も出されていない場合にのみ許されています。“前の eSCO スロット上に通常の ACL パケットがある
ので、それ以外に eSCO データがあるとは期待していない”、このためスレーブデバイスや他社のシングル
スニッファーが 00 で埋められた再送パケットを破棄し、音声として再生しない最も大きな理由ではない
かと思います。
Bluetooth コア仕様 Vol. 2, Part B, 8.6.3. eSCO に以下の文があります。
A master shall transmit in an eSCO retransmission window on a given eSCO LT_ADDR only if it
addressed that eSCO LT_ADDR or did not transmit any packet in the immediately preceding eSCO
reserved slots.
4. まとめ
マスターデバイスが本来送るべきでない不正な内容のパケット正しいフォーマットで送っていたので
すが、そのタイミングも誤っていました。その結果、不正なパケットが破棄され、音声再生には結果とし
て影響がありませんでした。しかし、このような仕様を外れた動作を行うことは、また何か別の問題を引
き起こす潜在的な原因になり得ると考えられます。マスターが Bluetooth の仕様を外れた動作をしている
ことが、BEX400 システムでのみ検出されました。
市販の Bluetooth チップを用いたシングルスニッファーは、デバイスと全く同じ挙動(パケットの破棄)
を行うので、このような問題を検知することはできません。アナライザは単なるデバイスのシミュレータ
ではなく、解析装置として機能するのが望ましいと考えます。
Ellisys ではこのような問題を検出するために可能な限りデータを記録、保持し、また勝手にデータを送
出、追加することのない BEX400 システムを作りました。Ellisys Bluetooth Analyzer Software が誇る Instant
Timing は、あらゆるタイミング確認が非常に簡単で、深い問題調査にも強力なツールとして使用できます。
仕様の確認はもちろん、このような潜在的な問題をなくし、Bluetooth 製品の品質があがり、Bluetooth
市場がより一層活発になることを期待しています。
以上