# Getting started
Source: [https://docs.qualcomm.com/doc/80-70015-13/topic/get-started.html](https://docs.qualcomm.com/doc/80-70015-13/topic/get-started.html)
The Qualcomm Linux Bluetooth solution includes BlueZ stack and sample test
applications. These applications interact with the Bluetooth daemon of the BlueZ
stack to run Bluetooth functions.
Qualcomm Linux supports the following sample applications for the BlueZ stack:
- bluetoothctl
- obexctl
- ofono
- evtool
The following workflow shows how to get started with verifying the Bluetooth
functionality using a sample application:

The sequence to complete the workflow is as follows:
1. Set up your infrastructure as described in the *[Qualcomm Linux Build Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254)* and
*[Qualcomm Linux Yocto Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-27)*.
The Build Guide also provides information about the common build
workflows.
2. Run the sample application and verify the Bluetooth functionality as described
in [Verify functionality of BlueZ stack](https://docs.qualcomm.com/doc/80-70015-13/topic/verify-bluetooth-functionality-of-bluez-stack.html).
3. If any issues occur, log and debug them as described in [Debug](https://docs.qualcomm.com/doc/80-70015-13/topic/bt_debugging.html).
## Set the Bluetooth MAC address
By default, the factory sets the Bluetooth MAC address in the one-time programmable
(OTP) memory. If you want to set the Bluetooth MAC address manually, complete the
following procedure. However, the manually set Bluetooth MAC address does not
persist across device reboots.
**Prerequisites**
- Enable SSH to access your host device. For instructions, see [How to SSH?](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-254/how_to.html#use-ssh).
- [Switch off Bluetooth on the device.](https://docs.qualcomm.com/doc/80-70015-13/topic/bluez-perform-bluetooth-gap-functions.html#bluez-perform-bluetooth-gap-functions__section_s3x_z1s_lcc_navyanka_08-21-24-1205-42-982)
**Procedure**
1. Run the SSH in command prompt using the following command:
ssh root@Copy to clipboard
**Example**
If the IP address of the device is `10.92.160.222`, run
the following command:
ssh root@10.92.160.222Copy to clipboard
2. Connect to the SSH by entering the following password:
oelinux123Copy to clipboard
3. Open the Bluetooth management tool and set the Bluetooth address by running the
following command:
btmgmt public-addr Copy to clipboard
For
example, to set the Bluetooth address of the device as
`22:22:9B:2C:79:1E`, run the following command:
btmgmt public-addr 22:22:9B:2C:79:1ECopy to clipboard
**Sample output**

## Source code location
The following table lists the source code location of Bluetooth components such as
the stack, sample test applications, and drivers.
| Component | Source code location |
| --- | --- |
| bluetoothctl | [https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools) |
| obexctl | [https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools](https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/tools) |
| ofono | [https://git.kernel.org/pub/scm/network/ofono/ofono.git](https://git.kernel.org/pub/scm/network/ofono/ofono.git) |
| BlueZ stack |