# Architecture 

Source: [https://docs.qualcomm.com/doc/80-70015-13/topic/bt_architecture_overview.html](https://docs.qualcomm.com/doc/80-70015-13/topic/bt_architecture_overview.html)

The Bluetooth software architecture consists of open-source and Qualcomm proprietary
            software.

The following figure shows how the user space and kernel space components interact
            through a socket interface. In the user space, the sample test applications interact
            with the BlueZ Bluetooth daemon to run Bluetooth functions.

Figure : Bluetooth software architecture
                
                ![The software architecture and components of Bluetooth solution.](data:image/png;base64,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)

The Bluetooth software architecture consists of user space, kernel space, and Bluetooth
            controller.

## User space components

The user space contains the following Bluetooth applications, daemon, and interface
                layers:

| Component | Description |
| --- | --- |
| Bluetooth daemon (bluetoothd) | <ul class="ul" id="bt_architecture_overview__ul_hkp_zr5_mcc_navyanka_08-25-24-1039-44-735"><br>                                    <li class="li">A central daemon.</li><br><br>                                    <li class="li">Contains DBUS interfaces for the user interface and other<br>                                        subsystems.</li><br><br>                                    <li class="li">Reduces exposure to low-level details.</li><br><br>                                    <li class="li">Extends with plugins.</li><br><br>                                </ul> |
| Bluetooth-tools | <ul class="ul" id="bt_architecture_overview__ul_aws_fbg_ncc_navyanka_08-27-24-008-20-444"><br>                                    <li class="li">Contains Bluetooth test applications.</li><br><br>                                </ul> |
| bluetoothctl | <ul class="ul" id="bt_architecture_overview__ul_vfj_3s5_mcc_navyanka_08-25-24-1042-18-747"><br>                                    <li class="li">A test tool to verify Bluetooth functionality.</li><br><br>                                    <li class="li">Provides options to verify using a command-line interface<br>                                        (CLI). </li><br><br>                                </ul> |
| mpris-proxy | <ul class="ul" id="bt_architecture_overview__ul_kc1_1bg_ncc_navyanka_08-27-24-006-39-886"><br>                                    <li class="li">A proxy DBUS service for Media Player Remote Interfacing<br>                                        Specification (MPRIS).</li><br><br>                                </ul> |
| obexctl | <ul class="ul" id="bt_architecture_overview__ul_hhv_cbg_ncc_navyanka_08-27-24-007-29-361"><br>                                    <li class="li">A test tool to verify OBEX functionality.</li><br><br>                                </ul> |
| OBEX daemon (obexd) | <ul class="ul" id="bt_architecture_overview__ul_etg_2s5_mcc_navyanka_08-25-24-1041-6-762"><br>                                    <li class="li">A daemon for the OBEX profile.</li><br><br>                                    <li class="li">Contains DBUS interfaces for the user interface.</li><br><br>                                </ul> |
| ofono | <ul class="ul" id="bt_architecture_overview__ul_dkw_zgv_mcc_navyanka_08-25-24-1234-4-103"><br>                                    <li class="li">Provides a test application for HFP.</li><br><br>                                    <li class="li">Searches for modem and then enables HFP audio gateway<br>                                        role.</li><br><br>                                </ul> |
| ofono-tests | Provides options to perform the following functions:<ul class="ul" id="bt_architecture_overview__ul_wff_rmv_mcc_navyanka_08-25-24-1317-13-748"><br>                                    <li class="li">Dial</li><br><br>                                    <li class="li">Answer</li><br><br>                                    <li class="li">Create multiparty</li><br><br>                                    <li class="li">Hold and answer</li><br><br>                                    <li class="li">Swap</li><br><br>                                    <li class="li">Release calls</li><br><br>                                </ul> |
| PulseAudio | <ul class="ul" id="bt_architecture_overview__ul_lbd_51g_ncc_navyanka_08-27-24-004-56-433"><br>                                    <li class="li">A sound server for portable operating system interface<br>                                        (POSIX).</li><br><br>                                    <li class="li">Facilitates advanced operations on sound data that passes<br>                                        between the applications and hardware.</li><br><br>                                </ul> |

## Kernel space components

The kernel space contains the following core components and drivers:

| Component | Description |
| --- | --- |
| Bluetooth management (btmgmt) | <ul class="ul" id="bt_architecture_overview__ul_ivk_4bg_ncc_navyanka_08-27-24-010-53-202"><br>                                        <li class="li">Enables user space to control kernel operations.</li><br><br>                                        <li class="li">Supports GAP functionalities such as adapter settings,<br>                                            device discovery, and device pairing.</li><br><br>                                    </ul> |
| BlueZ Host Control Interface (HCI) core | <ul class="ul" id="bt_architecture_overview__ul_ntg_qnq_tbc_navyanka_06-17-24-2231-7-555"><br>                                        <li class="li">Sends and receives HCI commands/events from the user<br>                                            space HCI component to the Qualcomm Bluetooth driver<br>                                            through the raw socket.</li><br><br>                                    </ul> |
| HCI | <ul class="ul" id="bt_architecture_overview__ul_v51_tbg_ncc_navyanka_08-27-24-012-14-309"><br>                                        <li class="li">A layer in the Bluetooth protocol stack.</li><br><br>                                        <li class="li">Defines how the host and the Bluetooth radio controller<br>                                            must interact.</li><br><br>                                    </ul> |
| Logical Link Control and Adaption Protocol (L2CAP) | <ul class="ul" id="bt_architecture_overview__ul_n43_ksq_mcc_navyanka_08-24-24-2130-47-945"><br>                                        <li class="li">Breaks large data packets into smaller frames for<br>                                            transmission. The destined component re-assembles the<br>                                            frames.</li><br><br>                                        <li class="li">Handles quality-of-service (QoS) requirements.</li><br><br>                                    </ul> |
| Qualcomm Bluetooth driver | <ul class="ul" id="bt_architecture_overview__ul_hbj_qnq_tbc_navyanka_06-17-24-2231-9-109"><br>                                        <li class="li">Handles the Bluetooth general-purpose input/output<br>                                            (GPIO) configurations.</li><br><br>                                        <li class="li">Enables or disables the regulators to turn the chip on<br>                                            or off.</li><br><br>                                        <li class="li">Handles the download of Bluetooth patch and nonvolatile<br>                                            (NV) during the Bluetooth on sequence.</li><br><br>                                    </ul> |
| Radio Frequency Communications (RFCOMM) | <ul class="ul" id="bt_architecture_overview__ul_gqp_nrq_mcc_navyanka_08-24-24-2124-8-475"><br>                                        <li class="li">Creates reliable and stream-based channels.</li><br><br>                                        <li class="li">Contains 30 ports. In contrast, the Transmission Control<br>                                            Protocol (TCP) has 65,535 ports.</li><br><br>                                        <li class="li">Each RFCOMM connection is encapsulated in a L2CAP<br>                                            connection.</li><br><br>                                    </ul> |
| Session<br>                                    Description Protocol (SDP) | <ul class="ul" id="bt_architecture_overview__ul_bzl_3tq_mcc_navyanka_08-24-24-2137-52-71"><br>                                        <li class="li">Provides the means for client applications to discover<br>                                            the existing services provided by server<br>                                            applications.</li><br><br>                                        <li class="li">Provides the attributes of services, which include the<br>                                            type or class of service offered, and the mechanism or<br>                                            protocol information required to use the service.</li><br><br>                                    </ul> |
| SLIMbus Bluetooth driver | <ul class="ul" id="bt_architecture_overview__ul_pxl_qnq_tbc_navyanka_06-17-24-2231-11-42"><br>                                        <li class="li">Configures, opens, and closes the SLIMbus ports for<br>                                            Bluetooth audio use cases.</li><br><br>                                    </ul> |
| Synchronous Connection Oriented (SCO) | <ul class="ul" id="bt_architecture_overview__ul_nz2_kbg_ncc_navyanka_08-27-24-009-38-951"><br>                                        <li class="li">A type of data link in Bluetooth.</li><br><br>                                        <li class="li">Provides links that are point-to-point connections<br>                                            between a master device and a single slave device.</li><br><br>                                    </ul> |
| Universal asynchronous receiver/transmitter (UART) serial<br>                                    driver | <ul class="ul" id="bt_architecture_overview__ul_nkk_qnq_tbc_navyanka_06-17-24-2231-10-25"><br>                                        <li class="li">A teletype (TTY) serial driver facilitates communication<br>                                            with the Bluetooth controller.</li><br><br>                                    </ul> |

## Bluetooth controller components

The Bluetooth controller components include the Link Manager Protocol (LMP), link
                controller, and baseband and RF system of the connectivity chipset.

Last Published: Oct 14, 2024

[Previous Topic
Features](https://docs.qualcomm.com/bundle/publicresource/80-70015-13/topics/bt_ft_overview.md) [Next Topic
Verify functionality of BlueZ stack](https://docs.qualcomm.com/bundle/publicresource/80-70015-13/topics/verify-bluetooth-functionality-of-bluez-stack.md)