Bluetooth HCI スヌープログをONにする
Android スマホと Bluetooth デバイス間における実際のデータを見たい場合、Android 側の HCI 上でやり取りされているデータを見れば大体わかる。
ので、そのログを取得して、WireSharkで読む方法について述べる。
開発者向けオプションを有効にする
機種によってやや違うが、
設定→システム→端末情報→ビルド番号
と、ビルド番号を表示し、そこを連打すると開発者オプションが有効になる。
設定→システム→開発者オプション
で、開発者オプションは表示される。
Bluetooth HCIスヌープログをONにする
開発者オプションに入り、Bluetooth HCI スヌープログをON のスイッチをONにする。
BluetoothをOFF->ONすると有効になるが、なんとなく本体再起動をお勧めする。
Bluetooth機器と接続する
Bluetooth機器とやり取りしないとHCIのログがあんまり出てこないので、なんか適当にBluetoothキーボードとかと接続したりしてログを増やしとく。
HCIスヌープログを保存する
設定→システム→開発者オプション→バグレポートを取得
をクリックして、対話型レポートを選択して「レポート」を押下。
バグレポートができるまで待つ。(通知バーのところに進捗がでる)
バグレポートを取得する
AndroidとUSB接続してadb経由で取得とか方法はあるみたいだけどちょっと面倒。
簡単なのは「通知」の完了通知をタップすると出てくる「共有」。
メールで送信とかGoogleDriveに保存とかが選べれるので通信できるのであればこの方法で送信するのが一番良い。
注意!!:途中、なんか別の場所触ったりとかしてダイアログを閉じたらもうそのレポート取得できなくなる。やり直しできない変なGUI。
zipファイルを解凍すると、以下の場所にログが出ている。
FS/data/misc/bluetooth/logs/btsnoop_hci.log
これをWireSharkで開くとHCIのログが解析できる。
その他:バグレポート番号の初期化
なんか、バグレポート取得するたびに番号が増加していってなんかあれだなぁ、と思うかもしれないけど、スマホ再起動したら#1に戻る
以上。