# General Access Profile

Bluetooth Low Energy GAP is an extension of the existing BR/EDR GAP.

To perform Bluetooth GAP functions, you must first complete the steps in the following procedure.

## Set up device for Bluetooth GAP functions

**Prerequisites**

- Enable SSH to access your host device. For instructions, see [Sign in using SSH](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-254/how_to.html#use-ssh).
- Place the device under test (DUT) and the remote device in the Bluetooth vicinity.

**Procedure**

1. Run the SSH in command prompt using the following command:

ssh root@<device_IP_address>
        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.222
        Copy to clipboard
2. Connect to the SSH by entering the following password:

oelinux123
        Copy to clipboard
3. Open the Bluetooth test application by running the following command:

bluetoothctl
        Copy to clipboard

    **Sample output**

sh-5.1# bluetoothctl
        Agent registered        uetoothd...
        [CHG] Controller 22:22:F1:C1:99:C0 Pairable: yes
        Copy to clipboard

    - To view GAP functions, run the following command:

help
            Copy to clipboard

        This command provides the main menu of **bluetoothctl**. The main menu includes the submenus and GAP functions. To perform GAP functions, see [Perform Bluetooth GAP functions](https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-gap-functions.html#bluez-perform-bluetooth-gap-functions).

        **Sample output**

[bluetooth]# help
            Menu main:
            Available commands:
            -------------------
            advertise                                         Advertise Options Submenu
            monitor                                           Advertisement Monitor Options Submenu
            scan                                              Scan Options Submenu
            gatt                                              Generic Attribute Submenu
            admin                                             Admin Policy Submenu
            player                                            Media Player Submenu
            endpoint                                          Media Endpoint Submenu
            transport                                         Media Transport Submenu
            list                                              List available controllers
            show [ctrl]                                       Controller information
            select <ctrl>                                     Select default controller
            devices [Paired/Bonded/Trusted/Connected]         List available devices, with an optional property as the filter
            system-alias <name>                               Set controller alias
            reset-alias                                       Reset controller alias
            power <on/off>                                    Set controller power
            pairable <on/off>                                 Set controller pairable mode
            discoverable <on/off>                             Set controller discoverable mode
            discoverable-timeout [value]                      Set discoverable timeout
            agent <on/off/capability>                         Enable/disable agent with given capability
            default-agent                                     Set agent as the default one
            advertise <on/off/type>                           Enable/disable advertising with given type
            set-alias <alias>                                 Set device alias
            scan <on/off/bredr/le>                            Scan for devices
            info [dev]                                        Device information
            pair [dev]                                        Pair with device
            cancel-pairing [dev]                              Cancel pairing with device
            trust [dev]                                       Trust device
            untrust [dev]                                     Untrust device
            block [dev]                                       Block device
            unblock [dev]                                     Unblock device
            remove <dev>                                      Remove device
            connect <dev>                                     Connect device
            disconnect [dev]                                  Disconnect device
            menu <name>                                       Select submenu
            version                                           Display version
            quit                                              Quit program
            exit                                              Quit program
            help                                              Display help about this program
            export                                            Print environment variables
            Copy to clipboard
    - To verify the state of Bluetooth on the device, run the following command:

show
            Copy to clipboard

        **Sample output**

[bluetooth]# show
            Controller 8C:FD:F0:21:84:23 (public)
                     Name: qcs9100-ride-sx
                     Alias: qcs9100-ride-sx
                     Class: 0x00000000
                     Powered: no
                     Discoverable: no
                     DiscoverableTimeout: 0x000000b4
                     Pairable: yes
                     UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
                     UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
                     UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
                     UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
                     UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
                     UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
                     UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
                     UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
                     UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
                     UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
                     UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
                     UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
                     UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
                     Modalias: usb:v1D6Bp0246d0541
                     Discovering: no
                     Roles: central
                     Roles: peripheral
            Advertising Features:
                     ActiveInstances: 0x00 (0)
                     SupportedInstances: 0x10 (16)
                     SupportedIncludes: tx-power
                     SupportedIncludes: appearance
                     SupportedIncludes: local-name
                     SupportedSecondaryChannels: 1M
                     SupportedSecondaryChannels: 2M
                     SupportedSecondaryChannels: Coded
            Copy to clipboard

## Next steps

- [Perform Bluetooth GAP functions](https://docs.qualcomm.com/doc/80-70020-13/topic/bluez-perform-bluetooth-gap-functions.html)
You can perform various Bluetooth GAP functions using the commands provided in the main menu of `bluetoothctl`.

Last Published: Jun 26, 2025

[Previous Topic
Verify functionality of BlueZ stack](https://docs.qualcomm.com/bundle/publicresource/80-70020-13/topics/verify-bluetooth-functionality-of-bluez-stack.md) [Next Topic
Perform Bluetooth GAP functions](https://docs.qualcomm.com/bundle/publicresource/80-70020-13/topics/bluez-perform-bluetooth-gap-functions.md)