In an era of devices that offer so much simplicity, Bluetooth wireless technology blurs the line between complexity and simplicity in ways that many users don’t expect.
Bluetooth once served a singular purpose of providing the functionality of a serial cable over a wireless connection, but has since evolved into so much more. How can the same technology that wirelessly communicates audio also be the technology that turns a lamp on and off? The answer is Bluetooth profiles.
To oversimplify a Bluetooth profile, it can be described as an accepted way of using Bluetooth technology to communicate data of a particular type. There are profiles for audio communication, profiles to transmit certain types of information like heart rate and blood pressure, as well as profiles to share images and video.
The Bluetooth Special Interest Group’s (Bluetooth SIG) official explanation of Bluetooth Profiles is (in all its confusing glory):
Profiles are definitions of possible applications and specify general behaviors that Bluetooth® enabled devices use to communicate with other Bluetooth devices. Profiles build on the Bluetooth standard to more clearly define what kind of data a Bluetooth module is transmitting. The device’s application determines which profiles it must support, from hands-free capabilities to heart rate sensors to alerts and more.
For two Bluetooth devices to be compatible, they must support the same profiles. And while profiles generally describe the same use case behaviors, they are different for Bluetooth BR/EDR and LE implementations. Compatibility between BR/EDR and LE implementations requires a dual-mode controller on at least one device for interoperability. For BR/EDR, a wide range of adopted Bluetooth profiles describe many different common types of applications or use cases for devices. For Bluetooth LE, developers have the option of using a comprehensive set of adopted profiles, or use the Generic Attribute Profile (GATT) to create new profiles. This helps support innovative new applications that maintain interoperability with other Bluetooth devices.
Bluetooth profiles typically contain information such as dependencies on other profiles and suggested user interface formats. For BR/EDR, the profile will also specify the particular options and parameters at each layer of the Bluetooth protocol stack used to perform its task. This may include, if appropriate, an outline of the required service record.
There are clearly a lot of details behind a Bluetooth profile, but for users trying to make use of a particular device, the most important thing is whether or not a profile is supported, and whether or not their device is going to work how they want it to.
In this article we will explore the profiles that are supported by the Plugable USB-BT4LE Bluetooth adapter based on Windows’ built-in support, support added by Broadcom’s WIDCOMM software, and the BlueZ software used in Linux. In addition to this, we’ll offer some explanation about Bluetooth errors such as “Driver Not Found”, and what potential issues you might encounter with profiles.
Profile Compatibility Sheet
In an effort to provide more information regarding Bluetooth profiles, we’ve created an in-depth spreadsheet to better detail which profiles are supported in which operating systems.
The data in this sheet is not based on testing conducted by Plugable, but is instead based on software documentation from various organizations, profile definitions that are visible in source code and driver files, as well as Bluetooth SIG qualification summaries.
Color key for spreadsheet data
|Compatibility with the Latest Profile Version|
|Compatibility with a Version of the Profile|
|Conflicting Information, Known Issues, or Uncertainty|
|Deprecated and/or Unused|
As you can see from this chart, compatibility with certain Bluetooth profiles varies wildly from one Windows version to the next, as well as between Windows and Linux.
These discrepancies can prove especially challenging in situations where a device is using a profile that depends on other profiles to function. A partial lack of profile support can make the difference between a device working, or not working.
What You May See If A Profile Is Missing
On Windows, if a profile is missing, usually the device will still complete the pairing process. Once pairing is completed, Windows will attempt to assign driver functions to the profile identifiers that it detects. Errors like “Driver Not Found” or “Error Installing Driver” are a typical behavior from Windows when profiles are missing.
It is important to note though, that this is not the whole story with driver errors with regards to Bluetooth. A very common issue with Bluetooth profile driver install errors, is the presence of other Bluetooth drivers for a different adapter. Since Bluetooth relies on multiple software components, the driver for a profile may not install if it is already registered to operate with another set of Bluetooth drivers. If you need help with this on your Plugable Bluetooth adapter, please feel free to contact us at firstname.lastname@example.org for assistance. We’re happy to help!
If Profiles Are Missing, Can They Be Installed?
The answer to this is almost always no. Profiles have to be created with a particular software set in mind, and are usually only made available as a complete “Bluetooth Stack“. There are some rare instances where drivers or other software for a particular Bluetooth device may be provided by the manufacturer, but this typically only happens with input devices like game controllers, or with devices that are using non-standard Bluetooth implementations. Manufacturers are free to create their own unique profiles for their particular device that are not standardized as part of Bluetooth specifications.
If you are using the Plugable Bluetooth adapter (USB-BT4LE) and are encountering issues installing a particular device. Please feel free to contact us at email@example.com so that we can help identify and resolve the issue. Usually we can help get things working as intended.
Other Aspects Of Bluetooth Profiles To Be Mindful Of
When it comes to audio, there are usually a lot of profiles involved to make everything work. Usually these devices have broad support from a profile perspective, but may also include some specialized technology like aptX support (which is now included as part of Windows 10), which is not a profile but rather a coding method to send higher quality audio to devices that support it. You can learn more in-depth information about Bluetooth profiles and codecs for Bluetooth in our article “Understanding Bluetooth® Wireless Audio“.
With some profiles, like those used for audio, only one device can use the profile at a time. For example, you wouldn’t be able to have two pairs of headphones use the A2DP profile to listen to music from the same device. Manufacturers like Bose that have a proprietary Bluetooth ‘Music Share’ feature allowing two sets of headphones to listen to the same source aren’t technically both connected to the same source. Instead, one of the headphones acts as a relay to pass the audio to the next pair of headphones. This is also the case with pairs of wireless Bluetooth speakers designed to operate in stereo. One of the speakers connects via Bluetooth while the other connects directly to the other speaker.
For Bluetooth Low Energy, use cases are typically more specialized and don’t operate in the same generalized way that Bluetooth Classic profiles do currently. For example, FitBit requires using a specialized Windows 10 (UWP) application to make use of data from their devices, rather than Windows having a default interface to display information provided by FitBit devices
Where To Learn More About Bluetooth Profiles And What They Do
Wikipedia has a great entry on Bluetooth profiles and a general synopsis of what they do. The Bluetooth Special Interest Group’s webpage on adopted Bluetooth profiles includes more in-depth technical information on profiles as well.
As always, we’re here to help with Bluetooth questions related to your Plugable products. We’re happy to answer customer questions through our firstname.lastname@example.org e-mail address.