# Qualcomm Linux Bluetooth documentation

Learn about the Bluetooth^®^ subsystem on Qualcomm^®^ Linux^®^, verify Bluetooth functionality, and debug Bluetooth issues.

## Bluetooth overview

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Bluetooth overview

Learn about Bluetooth wireless technology and explore Qualcomm Linux’s Bluetooth solutions.

https://docs.qualcomm.com/doc/80-70020-13/topic/introduction.html#introduction

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Bluetooth features

Get to know the Bluetooth stack, capabilities, and profile support in Qualcomm Linux.

https://docs.qualcomm.com/doc/80-70020-13/topic/bt_ft_overview.html#bt-ft-overview

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Bluetooth software architecture

Understand the key components of Bluetooth software architecture.

https://docs.qualcomm.com/doc/80-70020-13/topic/bt_architecture_overview.html#bt-architecture-overview

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Get started with Bluetooth functionality

Understand the prerequisites to get started with verifying the Bluetooth functionality using a sample application.

https://docs.qualcomm.com/doc/80-70020-13/topic/get-started.html#get-started

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Set the Bluetooth MAC address

Configure the Bluetooth MAC address of your device.

https://docs.qualcomm.com/doc/80-70020-13/topic/get-started.html#section-dmc-4mq-mcc-navyanka-08-24-24-2046-12-275

## Verify functionality of BlueZ stack

<link rel="stylesheet" type="text/css" href="https://d3je78mjrgbmx8.cloudfront.net/topic-card.css">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth GAP functions

Enable Bluetooth, scan for nearby devices, pair devices, list paired devices, enable discovery, and disable Bluetooth using `bluetoothctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-gap-functions.html#bluez-perform-bluetooth-gap-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth Low Energy GATT server functions

Connect to a remote device, add services and characteristics, register an application, start an advertisement, and disconnect using the `bluetoothctl` menu and `menu gatt` submenu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-low-energy-gatt-server-functions.html#bluez-perform-bluetooth-low-energy-gatt-server-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth Low Energy GATT client functions

Connect to a remote device, manage Bluetooth Low Energy GATT scans, retrieve attributes, read and write characteristic and descriptor values, and control attribute notifications using the `bluetoothctl` menu and `menu gatt` submenu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#bluez-perform-bluetooth-low-energy-gatt-client-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth HOGP functions

Connect a device and verify HOGP functionality using `bluetoothctl` menu and evtest tool.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-hogp-functions.html#bluez-perform-bluetooth-hogp-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth A2DP source functions

Connect a remote device, list transport options, check codec capabilities, set the volume, play an audio file, list the sinks and play audio on a specified sink using the `bluetoothctl` menu, `menu transport` submenu, and `paplay` commands.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-a2dp-source-functions.html#bluez-perform-bluetooth-a2dp-source-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth A2DP sink functions

Manage your audio experience, connect a remote device, list transport options and check codec capabilities. Set the volume, play an audio file and explore other player functions using the `bluetoothctl` menu, `menu transport` submenu, and `menu player` commands.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-a2dp-sink-functions.html#bluez-perform-bluetooth-a2dp-sink-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth HFP client functions

Connect or disconnect a remote device, dial a phone number, answer incoming calls, list active calls, reject or disconnect calls using the `bluetoothctl` menu and `ofono/test` tools.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-hfp-client-functions.html#bluez-perform-bluetooth-hfp-client-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth HFP audio gateway functions

Connect a remote device and verify the functionality of an audio gateway using `bluetoothctl` menu and `paplay` commands.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-hfp-ag-functions.html#bluez-perform-bluetooth-hfp-ag-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth OPP server functions

Receive a file in the server role.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-opp-server-functions.html#bluez-perform-bluetooth-opp-server-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth OPP client functions

Send a file in the client role.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-opp-client-functions.html#bluez-perform-bluetooth-opp-client-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth FTP client functions

Create a folder, go to a specific folder, get folder information, copy files to and from a remote device, copy files within the remote device, move files, and delete files using the `obexctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-ftp-server-and-client-functions.html#bluez-perform-bluetooth-ftp-server-and-client-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth PBAP server functions

Create a sample PBAP directory, and pull a contact from the server using the `obexctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-pbap-server-functions.html#bluez-perform-bluetooth-pbap-server-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth PBAP client functions

Connect the remote device, select a phone book object, pull the phone book, get its size, and search for a contact using the `obexctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-pbap-client-functions.html#bluez-perform-bluetooth-pbap-client-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth MAP server functions

Create a sample MAP directory, pull a message, and read it using the `obexctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-map-server-functions.html#bluez-perform-bluetooth-map-server-functions

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Perform Bluetooth MAP client functions

Connect the remote device, list messages in a folder, and send a message using the `obexctl` menu.

https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-map-client-functions.html#bluez-perform-bluetooth-map-client-functions

## Debug Bluetooth issues

<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewbox="0 0 16 16" fill="none" aria-label="icn-book-blue">
  <path d="M8 2V14M3.33333 2H12.6667C13.403 2 14 2.59695 14 3.33333V12.6667C14 13.403 13.403 14 12.6667 14H3.33333C2.59695 14 2 13.403 2 12.6667V3.33333C2 2.59695 2.59695 2 3.33333 2Z" stroke="#2A2AEA" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>  Debug BlueZ stack

Enable and collect BlueZ, snoop, PulseAudio, ofono service, and SSR dump logs to debug BlueZ stack issues.

https://docs.qualcomm.com/doc/80-70020-13/topic/bt_debugging.html#debug-bluez-stack

Last Published: Jun 26, 2025

[Next Topic
Bluetooth overview](https://docs.qualcomm.com/bundle/publicresource/80-70020-13/topics/introduction.md)