- Replaces the cables connecting portable and fixed electronic devices.
- Provides robust, power efficient, and cost-effective solutions.
- Facilitates flexibility of solutions and their applications.
BR/EDR and Low Energy radio options enable device discovery, connection establishment, and connection mechanisms. The optimal choice of radio depends on the use case or application of a solution.
The Qualcomm® Linux® supports Bluetooth solutions for the following kits.
| Kit | Hardware system-on-chip (SoC) | Bluetooth chipset | Bluetooth stack |
|---|---|---|---|
| QCS6490 |
| BlueZ |
| QCS5430 |
| BlueZ |
| IQ-9075 |
| BlueZ |
| IQ-8275 |
| BlueZ |
| IQ-615 |
| BlueZ |
| IQ-x7181 |
| BlueZ |
| IQ-x5121 |
| BlueZ |

Figure: Qualcomm connectivity chipset block diagram
Bluetooth specification
The WCN6750, WCN6856, WCN7850, and QCA6698AQ connectivity chipsets comply with the Bluetooth Core specification v5.2 or v5.3. These chipsets have the following controller features and capabilities:- A Bluetooth Low Energy data rate of up to 2 Mbps
- A long-range mode with better sensitivity at two new lower bit rates, 500 Kbps and 125 Kbps
- An 8x improvement in broadcast capability with the use of advertising extensions
- An improved channel selection algorithm (CSA #2), which facilitates improved channel coordination and coexistence efficiency with other Bluetooth and non-Bluetooth traffic
BlueZ stack
BlueZ is a Bluetooth Linux stack that supports the core Bluetooth layers and protocols. BlueZ features are as follows:- Complies with Bluetooth Core specification v5.4
- Supports multiple Bluetooth devices
- Implements a socket interface for all layers
- Supports multithreaded data processing
Bluetooth profiles and roles
The Bluetooth profiles define the specifications, requirements, and roles of devices to establish a Bluetooth connection. A profile also determines the communication protocol used between devices. The BlueZ stack supports the following Bluetooth profiles and roles for connectivity chipsets.| Profile | Role | Version | Support on chipset | ||
|---|---|---|---|---|---|
| WCN6750 / WCN6856 | WCN7850 | QCA6698AQ | |||
| General Access Profile (GAP) | Central and peripheral | ✓ | ✓ | ✓ | |
| Serial Port Profile (SPP) | Client and server | v1.2 | ✓ | ✓ | ✓ |
| Human interface device (HID) over GATT Profile (HOGP) | Host | v1 | ✓ | ✓ | ✓ |
| General Attribute Profile (GATT) | Central and peripheral | ✓ | ✓ | ✓ | |
| Advanced Audio Distribution Profile (A2DP) | Source | Nonsplit v1.3 | ✓ | ✕ | ✓ |
| Sink | Nonsplit v1.3 | ✓ | ✕ | ✓ | |
| Audio/Video Remote Control Profile (AVRCP) | Target | v1.5 | ✓ | ✕ | ✓ |
| Controller | v1.5 | ✓ | ✕ | ✓ | |
| Hands-Free Profile (HFP) | Audio gateway | Nonsplit v1.7 | ✓ | ✕ | ✕ |
| Client | Nonsplit v1.7 | ✓ | ✕ | ✕ | |
| Object Push Profile (OPP) | Client and server | v1.2 | ✓ | ✓ | ✓ |
| File Transfer Protocol (FTP) | Client and server | v1.2 | ✓ | ✓ | ✓ |
| Phone Book Access Profile (PBAP) | Client and server | v1.1 | ✓ | ✓ | ✓ |
| Message Access Profile (MAP) | Client and server | v1.2 | ✓ | ✓ | ✓ |
Bluetooth profile concurrency is supported.
General Access Profile
Bluetooth Low Energy GAP is an extension of the existing BR/EDR GAP. It handles the following basic operations of a device:- Discover a device
- Establish a connection
- Bond multiple devices
- Establish a private connection
- Resolve private addresses
- Generic procedures for discovering Bluetooth devices
- Link-management aspects for connecting to Bluetooth devices
- Procedures related to security levels
- Common formats for user interface-level parameters, such as naming conventions
Serial Port Profile
SPP facilitates wireless communication between devices over a virtual serial port. It supports client and server roles. SPP defines the following elements:- Requirements of Bluetooth devices to set up emulated serial cable connections using Radio Frequency Communication (RFCOMM) between two peer devices.
- Terms of services provided to applications.
- Features and procedures for interoperability between Bluetooth devices.
General Attribute Profile
GATT is a service framework that uses the Attribute Protocol (ATT) to discover services, and to read and write characteristic values on a peer device. It supports client and server roles. GATT performs the following functions:- Interfaces with the application through application profiles. The application profile defines the collection of attributes and any permissions required for the attributes used in communication between devices.
- Specifies how two Bluetooth Low Energy devices exchange data using services or declarations, characteristics, and descriptors. It doesn’t define rules for attribute use. The upper-layer applications derive functionality by using these concepts.
- Stores services, characteristics, and related data in a basic lookup table, with 16‑bit IDs assigned to each entry.
Human Interface Device over GATT Profile
HOGP defines how a Bluetooth Low Energy wireless communications device can support HID services over the Bluetooth Low Energy protocol stack using GATT.Only the Host role is supported and validated; the HOGP Client role isn’t.
Advanced Audio Distribution Profile
A2DP defines the requirements to transmit or stream high-quality audio from one device to another over a Bluetooth connection. For example, streaming music from a mobile phone, laptop, or desktop to a wireless headset, and streaming audio to a hearing aid, cochlear implant, or car console. A2DP supports the following roles.Hands-Free Profile
HFP defines how an audio gateway device can connect to a hands-free device for functions like remote control and audio connection. HFP defines and assigns the following profile roles to the devices.Object Push Profile
OPP defines how two Bluetooth devices can exchange objects, such as business cards, images, wallpapers, ringtones, or videos. It allows a Bluetooth device to:- Pull an object from another Bluetooth device.
- Push an object to another Bluetooth device.
- Exchange objects with another Bluetooth device.
File Transfer Protocol
FTP defines the requirements to exchange files between two Bluetooth devices. FTP supports client and server roles. It allows a Bluetooth device to:- Browse the files and folders of another Bluetooth device.
- Exchange files and folders with another Bluetooth device.
- Create or delete files and folders on another Bluetooth device.
Phone Book Access Profile
PBAP facilitates the exchange of phone book objects between a remote and a local device. It’s based on a client-server interaction model where the client device gets the phone book objects from the server device. In the BlueZ stack, PBAP supports the following roles:- Phone book server equipment (PSE): Consists of the source phone book objects.
- Phone book client equipment (PCE): Retrieves phone book objects from the PSE.
PBAP allows the following functions:
- Download contacts and call histories from a remote device.
- Browse contacts on a remote device.
- Select a phone book object.
Message Access Profile
MAP defines the features and procedures that devices use to exchange message objects. It’s based on a client-server interaction model where the client initiates the transactions. The types of message objects include electronic messages (Email) and short message service (SMS). MAP combines the messaging capabilities of a messaging server device and the user interface capabilities of a client device to notify, browse, read, delete, generate, and send messages. In the BlueZ stack, MAP supports the following device roles:- Message server equipment (MSE): Provides the message repository engine.
- Message client equipment (MCE): Uses the message repository engine of the MSE for MAP functions.
Next steps
- To get started with verifying the functionality of BlueZ stack, see Verify functionality of BlueZ stack.
- To learn more about the Bluetooth architecture, see Bluetooth software architecture.

