Web Analytics

Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

Bluetooth packet capture on Windows 11 - Is AAC really working on Windows 11?

Abstract

It is said that AAC as Bluetooth codec is supported by Windows 11, there is no corresponding description in Microsoft site. Then, Bluetooth packet capture*1 again to check whether AAC connection works. As its conclusion, Windows 11 supports AAC and it actually works.

This post introduces how to reveal it, and its working procedure.

Assumption

The work in this post was done in the following environment.

version
Windows 11 Pro 21H2 22000.795
Wireshark*2 3.6.6
Microsoft Bluetooth Test Platform (BTP)*3 1.12.2

Among the tools provided by BTP, use the Bluetooth Virtual Sniffer (btvs.exe) *4. Based on the default installation path, it is stored at

C:\BTP\v1.12.2\x86\btvs.exe

Earphones for verification in this post is SONY WI-SP500*5. This earphones officially support both SBA and AAC, but also unofficially support aptX as packet capture indicates.

Basic precautions

In advance of beginning the operation, all Bluetooth equipment should be disconnected. It prevents Wireshark from capturing extra packets.

Packet capture with Wireshark should be started before connecting Bluetooth earpiece. Specifically, following steps will be taken.

  1. run btvs.exe, then automatically run Wireshark
  2. start packet capture
  3. connect Bluetooth earpiece

These steps ensures to capture packets during Bluetooth negotiation between Windows and earpiece.

In addition, connection request should be started by earpiece, not Windows. Depending on which side starting from, negotiation procedure changes.
defining negotiation as conversation between Windows and earpiece, it is expressed as followings.

Host = Windows
Guest = earpiece

The case starting by guest
G: Please let me talk
H: What language do you speak?
G: EN, FR, JP, etc
H: JP please

The case starting by host
H: Shall we talk?
G: Is it ok to speak JP?
H: JP please

In the case starting by guest, all languages are opened, but the other case is not. This language is codec in actual operation, and to identify all available codecs, negotiation must be started by earpiece.

Finally, there is a case that in spite of expected codec is available, it is not always applied in communication. Example, earpiece says aptX is available, SBC is applied in actual communication. This topic is discussed later.

Operation

Run ”C:\BTP\v1.12.2\x86\btvs.exe”, the next window appears. Then, click "Full Packet Logging". Simultaneously, Wireshark appears, too. Packet capture is already initiated.

Connect Bluetooth earpiece in this situation, all packets including negotiation are captured.

Focus next records, ”ResponseAccept” shows codec supported by earpiece, and "SetConfiguration" indicates codec in use for communication.

Column
Protocol AVDTP
Info Command - GetAllCapabilities ~
Info ResponseAccept - GetCapabilities ~
Info Command - SetConfiguration ~

Next sample shows codecs below, and indicates that AAC is applied for communication.

Earphnes ask to PC as "Command - GetAllCapabilities", and PC responds ”ResponseAccept~” with codec information. And Earphones tell PC codec with "Command - SetConfiguration"

Although SONY WI-SP500 doesn't support aptX, packet capture shows one response implicates its support. Probably, it may work only for Xperia.

When video or audio is played in this state, Wireshark continues to capture RTP (Realtime Transport Protocol) packets. Details of packet indicates that AAC actually works.


Off topic

Windows 11 reportedly supports AAC. But somehow Microsoft doesn't disclose it officially in their web site.
In case if Windows 10, supporting aptX is mentioned below. Corresponding page for Windows 11 is not prepared.

Bluetooth audio enhancements (Wideband speech, aptX®) - High Definition sound while limiting Lip Sync and latency issues.

docs.microsoft.com

Reference

habr.com