# Verify GATT functions

GATT is a service framework that uses ATT to discover services, and to read and write
characteristic values on a peer device.

To perform Bluetooth Low Energy GATT server or client functions, you must first complete the steps in the following procedure.

## Prerequisites

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

## Set up the device for Bluetooth Low Energy GATT functions

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

    You can perform a few GATT functions like connecting and scanning through the main menu options of bluetoothctl.

    **Sample output**

sh-5.1# bluetoothctl
        Agent registered        uetoothd...
        [CHG] Controller 22:22:F1:C1:99:C0 Pairable: yes
        Copy to clipboard
4. Enable Bluetooth by running the following command:

power on
        Copy to clipboard

    **Sample output**

[bluetooth]# power on
        [CHG] Controller 22:22:F1:C1:99:C0 Class: 0x007c0000
        Changing power on succeeded
        [CHG] Controller 22:22:F1:C1:99:C0 Powered: yes
        Copy to clipboard
5. Go to the **GATT submenu** by running the following command:

menu gatt
        Copy to clipboard

    **Sample output**

[bluetooth]# menu gatt
        Menu gatt:
        Available commands:
        -------------------
        list-attributes [dev/local]                       List attributes
        select-attribute <attribute/UUID/local> [attribute/UUID] Select attribute
        attribute-info [attribute/UUID]                   Select attribute
        read [offset]                                     Read attribute value
        write <data=xx xx ...> [offset] [type]            Write attribute value
        acquire-write                                     Acquire Write file descriptor
        release-write                                     Release Write file descriptor
        acquire-notify                                    Acquire Notify file descriptor
        release-notify                                    Release Notify file descriptor
        notify <on/off>                                   Notify attribute value
        clone [dev/attribute/UUID]                        Clone a device or attribute
        register-application [UUID ...]                   Register profile to connect
        unregister-application                            Unregister profile
        register-service <UUID> [handle]                  Register application service.
        unregister-service <UUID/object>                  Unregister application service
        register-includes <UUID> [handle]                 Register as Included service in.
        unregister-includes <Service-UUID> <Inc-UUID>     Unregister Included service.
        register-characteristic <UUID> <Flags=read,write,notify...> [handle] Register application characteristic
        unregister-characteristic <UUID/object>           Unregister application characteristic
        register-descriptor <UUID> <Flags=read,write...> [handle] Register application descriptor
        unregister-descriptor <UUID/object>               Unregister application descriptor
        back                                              Return to main menu
        version                                           Display version
        quit                                              Quit program
        exit                                              Quit program
        help                                              Display help about this program
        export                                            Print environment variables
        Copy to clipboard

    - For GATT server functions, see [Perform Bluetooth Low Energy GATT server functions](https://docs.qualcomm.com/doc/80-80022-13/topic/bluez-perform-bluetooth-low-energy-gatt-server-functions.html#bluez-perform-bluetooth-low-energy-gatt-server-functions).
    - For GATT client functions, see [Perform Bluetooth Low Energy GATT client functions](https://docs.qualcomm.com/doc/80-80022-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#bluez-perform-bluetooth-low-energy-gatt-client-functions).

## Next steps

- [Perform Bluetooth Low Energy GATT server functions](https://docs.qualcomm.com/doc/80-80022-13/topic/bluez-perform-bluetooth-low-energy-gatt-server-functions.html)
You can perform Bluetooth Low Energy GATT server functions using the **GATT submenu** options and `bluetoothctl` commands. Bluetooth Low Energy GATT server functions include connecting to and disconnecting from remote devices, adding a primary service, and defining characteristics and descriptors. GATT functions also support adding included services, registering an application, and starting advertisements to make the device discoverable.
- [Perform Bluetooth Low Energy GATT client functions](https://docs.qualcomm.com/doc/80-80022-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html)
You can perform Bluetooth Low Energy GATT client functions using the **GATT submenu** options and `bluetoothctl` commands. Bluetooth Low Energy GATT client functions include connecting to a remote device and starting or stopping Bluetooth Low Energy GATT scans. You can retrieve the list of attributes, get attribute information, and select specific attributes. GATT functions also support reading and writing characteristic values, including encrypted characteristics, and reading and writing descriptor values. Additionally, they allow turning notifications on or off for selected attributes.

Last Published: May 10, 2026

[Previous Topic
Perform Bluetooth GAP functions](https://docs.qualcomm.com/bundle/publicresource/80-80022-13/topics/bluez-perform-bluetooth-gap-functions.md) [Next Topic
Perform Bluetooth Low Energy GATT server functions](https://docs.qualcomm.com/bundle/publicresource/80-80022-13/topics/bluez-perform-bluetooth-low-energy-gatt-server-functions.md)