Starting around 2016 with the release of the acclaimed Bose QuietComfort 35 headphones, many Bluetooth audio devices began incorporating new features designed to simplify connecting those devices to smartphones. Unfortunately, these new features introduced compatibility problems with Windows 7 and Linux. This article examine the reasons behind these problems, as well as direct you to more information on how to resolve the issue.
A New Class of Bluetooth Audio Device
Newer Bluetooth audio devices are being designed with a mobile-first mentality, taking advantage of the standard inclusion of Bluetooth in virtually every smartphone and tablet, including more recent innovations like Bluetooth Low Energy (also referred to as Bluetooth Smart or Bluetooth LE) and NFC. However, this focus on mobile convenience seems go hand-in-hand with a lack of consideration for non-smartphone platforms like Windows and Linux, as evidenced by compatibility issues with them. This situation reflects an aggressive push starting in 2016 to get wireless audio devices in the hands of consumers. Various phone manufacturers, following Apple’s lead, are forsaking the venerable 3.5mm headphone jack in favor of wireless audio solutions like Bluetooth. This movement has accompanied across-the-board advancements in technology for wireless audio devices, such as new battery technology that has brought longer battery life for wireless audio solutions while providing better amplification solutions to headphones, making enhancements like active noise cancellation easier to include.
What Are Some of the Known Issues and Fixes in Windows?
For versions of Windows prior to Windows 8, we have been keeping track of issues with audio devices that appear to be related to Bluetooth Low Energy (Bluetooth LE) services. Unfortunately, Microsoft did not develop Bluetooth Low Energy support until Windows 8.
We have a couple solutions to this issue. For a few months we had recommended a complicated workaround that can be used to get the adapter working in Windows 7. After conducting quite a bit of research and testing different driver variations in Windows 7, a version of the WIDCOMM software has been identified that addresses pairing and audio playback issues with the Bose QuietComfort 35, Sony WH-1000XM2/WH-1000XM3/WH-1000XM4, and other popular Bluetooth audio devices. Please note, that these steps are only applicable to our Bluetooth adapter.
On Windows 8.x, it is recommended to install the 184.108.40.2060 driver package to resolve some basic compatibility issues with audio devices.
Additionally, there are some important things to note about how Windows displays available Bluetooth devices in Windows 8.x.
Sometimes Windows will not offer the appropriate icon for the audio service. In this case, you may want to try pairing through the Devices and Printers menu (‘Start Menu’ > ‘Settings’ () > ‘Devices’ > ‘Printers & scanners’ > Click the link for ‘Devices and printers’ > Click the ‘Add a device’ button) which may provide an icon. If neither method provides an icon for the audio device then you may need to randomly select one. If the incorrect device is selected, remove the pairing and try pairing again.
For the Bose QuietComfort 35 and some other Bose audio devices, firmware updates are available that help to clarify which connection is the “LE” connection that should not be paired with, and which one is the correct audio device (without LE in the name) as depicted in the screenshot below.
For devices that are offering Bluetooth Low Energy (Bluetooth LE) connections, they should work without issue, but it is important to pair to the actual audio device rather than the Bluetooth LE service. If pairing to the wrong Bluetooth device, audio services will not function. In most cases when a device is listed multiple times, the connection will have an icon with headphones in Windows to indicate it is the proper connection for the audio service.
On Windows 10, ensure the latest updates are applied. If you are on the initial version of Windows 10 or the Anniversary Update, there may be issues. The drivers that Windows installs automatically should work well. If you're having issues on Windows 10 with the Plugable Bluetooth adapter despite being on the current updates, please contact us at email@example.com.
What Are Some of the Known Issues and Fixes in Linux?
In Linux there are three primary components responsible for Bluetooth audio connections. Drivers for the Bluetooth hardware, the BlueZ project, and the Pulseaudio project.
For several years now, the driver for the Plugable Bluetooth adapter has been built into the Linux kernel. So driver support is not the issue.
Rather, the main issues revolve around the BlueZ and Pulseaudio opensource projects. One or both of these projects tend to break on a regular basis. We've found that BlueZ versions past 5.52 have issues with Bluetooth audio. As of October 2020, this issue still does not seem to be resolved on Ubuntu 20.10-based distros which seem to be shipping with BlueZ 5.55.
The following instructions tend to fix Bluetooth audio problems on Debian-based distros distributed after Ubuntu 16.10. Most recently, these steps were tested on Pop!_OS 20.10 with a successful result. Non-Debian distros may use a package manager other than apt-get, the instructions should work as long as you change out 'apt-get' with the package manager for your distro.
- Download and extract BlueZ 5.52:
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.52.tar.xz && tar xf bluez-5.52.tar.xz
- Change to the BlueZ directory:
- Install the libraries necessary to successfully build and install BlueZ, as well as additional audio profile support:
sudo apt-get install pulseaudio-module-bluetooth libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev blueman
- Stop Bluetooth services:
sudo /etc/init.d/bluetooth stop
- Then in the BlueZ directory you should still be in; configure, make, and make install:
sudo ./configure && sudo make && sudo make install
- Once the install process is complete, restart the PC.
Another improvement from using BlueZ 5.52 is that Bluetooth LE HID devices like mice and keyboards are supported through the HID over GATT profile (HoG). We have found that the Microsoft Designer Mouse and Keyboard work in Linux after updating BlueZ.
If you are not using an Ubuntu-based Linux distribution, these steps may or may not work. You can still try some of the solutions in the Arch Linux wiki such as setting Bluetooth to only use BR/EDR (bredr) mode.
Some users may notice that there are issues relating to missing firmware for the Bluetooth adapter in the system logs on Linux. This is normal, and the error can be ignored as it has no impact on the actual functionality of the adapter.
The Heart of the Issue With Modern Bluetooth Audio Compatibility
So why is it that these newer smartphone-focused devices are having problems in PC operating systems? The evidence we have collected suggests that the primary factor in most issues with Bluetooth audio devices is the inclusion of Bluetooth Low Energy (Bluetooth LE), which was first introduced as part of Bluetooth 4.0 specifications in 2010.
Bluetooth Low Energy operates very differently from Bluetooth Classic in a few key ways. As the name suggests, it is heavily focused on energy efficiency.
Bluetooth LE accomplishes much of its power savings by reducing the frequency that a Bluetooth host (source) and a Bluetooth device (sink) need to communicate, but it also does this by limiting the size of data and messages that need to be communicated. For example, the heartrate monitor in many smartwatches communicate heartrate measurements over Bluetooth LE every few seconds. The heartrate can simply be conveyed as two or three digit numbers, and this information does not need to be sent immediately to the device the smartwatch is connected to, so Bluetooth LE is ideal for this data given the power savings it provides.
Even in new devices, audio data is sent using Bluetooth Classic, which has been the case for a number of years. However, in an effort to simplify the pairing process of audio devices for smartphones and communicate additional data such as battery life, device makers have turned to Bluetooth LE. It is important to note, that a device being labeled as “Bluetooth 4.0” or “Bluetooth 4.1” does not instantly mean that Bluetooth LE is being used on the audio device. Many times, the manufacturer is trying to capitalize on consumers being unaware of Bluetooth technology and drawn to a version number that is higher than the competition. For many devices indicating Bluetooth 4.0 or 4.1 support, they are using a Bluetooth chip in their device that is capable of supporting features specific to 4.0 or 4.1, but in reality they are only using the Bluetooth 2.1 or 3.0 features of the chip.
When Bluetooth 5 is introduced, this will likely change. Indications are that audio features are coming that will be specific to Bluetooth 5 in particular.
So what is it about Bluetooth Low Energy that is causing problems for PC users?
Applications of Bluetooth Low Energy have been sparse until more recently due to the lack of available devices supporting it. It made much more sense for manufacturers to make devices that used Bluetooth Classic, or that were simply connected through a wired connection, since there was a much larger userbase that the devices would work with.
This was a classic chicken-and-egg problem. Why support Bluetooth LE if there are no devices that use it, and why create devices for Bluetooth LE if no platforms can use it?
By the time Bluetooth Low Energy became a standard, Microsoft had already completed and released Windows 7. Eventually, Microsoft did add compatibility with Bluetooth LE with the release of Windows 8, but the effort was never made to add it to Windows 7, or earlier versions of Windows. This has left Windows 7 unable to understand Bluetooth LE communications.
For Linux, Bluetooth LE support has been slow going. For the most part, Bluetooth interactions on Linux distributions are handled by a software set called BlueZ. However, most Linux distributions seem to ship with broken versions of BlueZ. For example, Ubuntu 16.10 used BlueZ 5.21, but the latest version of BlueZ was 5.23. This may not seem like a huge difference, but many Bluetooth LE services were not implemented until 5.22. Bluetooth LE input devices like a Bluetooth LE mouse could not be used prior to 5.22, and many audio devices had issues as well. Though 5.23 had many improvements, Bluetooth audio devices still weren’t totally compatible. Installing the latest version of BlueZ isn't always the answer either, as the BlueZ and Pulseaudio project seems to break Bluetooth audio support on a regular basis.
As with most technologies, innovations will sometimes bring compatibility issues along with them. The future looks bright for Bluetooth audio, and Bluetooth LE (BLE) stands to make the pairing process easier for newer devices as customers have wanted. As we move forward unto uncharted waters of new Bluetooth audio solutions, the team here at Plugable will be here to help identify, explain, and hopefully resolve any issues that happen along the way.
As always, if you need our assistance with your Plugable product, please contact us at firstname.lastname@example.org with your Order ID number and we’ll be happy to help.