How to test if Bluetooth headphones use aptX or other codec 3

If you have an Android device, you can verify if your Bluetooth headphone/earphones really support all the codec they claim to have – is it really aptX, AAC, LDAC or just SBC?

  1. If not already enabled, enable Developer options in Android
  2. In Developer options, turn on “Enable Bluetooth HCI snoop log”
  3. Make your Bluetooth headphones connect to Android (power on Bluetooth on your phone)
  4. Log should be saved in the phone primary storage in “Android/data” folder, file named “btsnoop_hci.log”. There’s a lot of other folders so don’t get lost! If there’s no such file or if you’re running Android 8 or newer, you will have to capture bugreport (by runnig “adb bugreport”) – which will generate zip file with system logs and btsnoop inside FS folder.
  5. Transfer that file to desktop computer and open it in Wireshark.
  6. In the “Apply a display filter” field, enter “btavdtp” and press enter.
  7. All the codecs your headphones support are on the lines right after “GetCapabilities”. The final codec that phone selected is on line after “SetConfiguration”.

Captured log with QCY QY31 confirms that these earphones really support aptX but not only that, it also supports AAC!

The mini mono earphone QCY Q26 really supports just SBC.

I also recently purchased KZ ZS5 wired earphones so I will be testing the original KZ Bluetooth cable (should support only SBC) and also some 0.75 mm Tiandirenhe cable claiming to support aptX.

Edit: If you have a Mac, it’s much easier to use Apple (Xcode) development tool “Bluetooth Explorer” to enable all codecs and check active one. See guides like this one.