How-to record Bluetooth-traffic (OpenFreebuds contribution guide)

Every wireless headset which can be configured from some app have their own protocol to configure and their own set of commands. So, to implement support of some model of headset in OpenFreebuds, I need to have a list of this commands.

This page describes how to record Bluetooth activity with all additional information which is required to try to reverse-engineer their configuration protocol.

Android only!

1. Prepare for screen recording

Additionally with a dump of Bluetooth traffic I’ll need to know what you’re doing while traffic is recording. This will make my work a bit easier. So, check that you phone have a screen recorder feature. If it don’t, install and prepare any app that can do that.

Also, it would be cool if you add a exact time with seconds to your screen. To do that, install Overlay Digital Time or any other app that can display time with seconds above other apps. Open that app, go to settings and enable “Display seconds” option.

2. Enable Bluetooth logging

Got to Android developer settings. If you don’t have this settings section, go to “About phone” and 5-10 times click to “Build number” row. After that, you’ll got a message that developer mode is enabled, and you’ll find new section into your device settings.

In dev settings, toggle “Enable Bluetooth HCI snoop log” to “Enabled”. After that, disable and re-enable Bluetooth from quick settings, otherwise record file will be empty.

3. Record everything that you can do

  1. Start Digital time overlay, make sure that it’s visible on screen, have current time with seconds and isn’t covered with something other;
  2. Start screen recording;
  3. Connect your BT headset to phone, if you don't;
  4. Open official application of your headset (if it's already running, close and re-open them);
  5. Now, with little frequency, toggle every setting that your headset have. Switch through all available ANC modes, all ANC levels (if your device have that), all available configuration options. Make a pause of 0.5-1 second between all actions. Don’t forgot to switch all configurations back to initial, to record them too;
  6. When you finish, close your headset app, stop screen recording, go again to developer settings and select “Bug report” (interactive or full doesn’t matter). Wait until report will be ready (you’ll got a notification). Click on that notification and save your report somewhere;

4. Send this to developer

Took your recorded video and bug report ZIP-file, and send it both to a developer who requested you to create them.

Warning: Send it directly to them, don’t publish this files in public places like GitHub issues or comments, because they may contain a small part of personal data, like device serial number, network addresses, running applications, etc.

After finish

  • Go to developer settings and switch back “Enable Bluetooth HCI snoop log” to Disabled;
  • (optional) Disable developer settings (big switch in top of that page), if you don’t want to see that settings category anymore;
  • (optional) Uninstall previously installed “Overlay Digital time” app and screen recorder, if you don’t need this apps anymore.

Example: how recorded video will look like

thumb_up 2 thumb_down 0 chat Comments (0) favorite Donate