# Perform Bluetooth Low Energy GATT client functions 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. ## Prerequisites Before you begin, set up the device as described in [Set up the device for Bluetooth Low Energy GATT functions](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-gatt.html#section-ajz-mss-lcc-08-21-24-1419-1-422). ## Connect to a remote device To connect to a remote device, run the following command from the `bluetoothctl` menu: connect Copy to clipboard **Parameters** `` is the Bluetooth address of the remote device. Note To get the Bluetooth address of the remote device, run a [Bluetooth Low Energy GATT scan](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-oyf-kts-lcc-08-21-24-1425-50-130). **Example** To connect to a server device with `` `6D:38:AF:C6:B5:62`, run the following command: connect 6D:38:AF:C6:B5:62 Copy to clipboard **Sample output** [bluetooth]# connect 6D:38:AF:C6:B5:62 Attempting to connect to 6D:38:AF:C6:B5:62 [CHG] Device 6D:38:AF:C6:B5:62 Connected: yes Connection successful [NEW] Primary Service (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001 00001801-0000-1000-8000-00805f9b34fb Generic Attribute Profile [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0002 00002a05-0000-1000-8000-00805f9b34fb Service Changed [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0004 00002b3a-0000-1000-8000-00805f9b34fb Server Supported Features [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0006 00002b29-0000-1000-8000-00805f9b34fb Client Supported Features [NEW] Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0008 00002b2a-0000-1000-8000-00805f9b34fb Database Hash [CHG] Device 6D:38:AF:C6:B5:62 UUIDs: 00001800-0000-1000-8000-00805f9b34fb [CHG] Device 6D:38:AF:C6:B5:62 UUIDs: 00001801-0000-1000-8000-00805f9b34fb [CHG] Device 6D:38:AF:C6:B5:62 ServicesResolved: yes Copy to clipboard ## Start Bluetooth Low Energy GATT scan To start a Bluetooth Low Energy GATT scan, run the following command from the `bluetoothctl` menu: scan le Copy to clipboard Note To get the scan results, the remote device must advertise using any Bluetooth Low Energy application. **Sample output** [MyDeviceB]# scan le Discovery started [CHG] Controller 22:22:9B:2C:79:1E Discovering: yes [CHG] Device F8:7D:76:9D:9B:6B RSSI: -70 [NEW] Device A4:30:7A:EE:AF:EF [TV] MyDeviceA (43) [NEW] Device 52:2F:07:6F:AA:93 52-2F-07-6F-AA-93 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Key: 0x0075 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Value: 42 04 01 01 e7 a4 30 7a ee af ef a6 30 7a ee af B..... 0z....0z.... ee 01 3b 00 00 00 00 00 ...... [CHG] Device A4:30:7A:EE:AF:EF Modalias: bluetooth:v04E8p8080d0000 [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 00001112-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF UUIDs: 00001200-0000-1000-8000-00805f9b34fb [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Key: 0x0075 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Value: 42 04 01 01 e7 a4 30 7a ee af ef a6 30 7a ee af B..... 0z....0z.... ee 01 3b 00 00 00 00 00 ...... [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Key: 0xff19 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Value: 00 75 00 09 01 00 00 00 06 01 00 00 00 00 00 00 .u.................. 00 00 00 00 00 00 00 00 ................ [CHG] Device F8:7D:76:9D:9B:6B RSSI: -60 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Key: 0x0075 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Value: 42 04 01 20 e7 20 0d 00 02 01 2b 01 01 00 01 00 B .. ..... ....... 00 00 00 00 00 00 00 00 ........ [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Key: 0xff19 [CHG] Device A4:30:7A:EE:AF:EF ManufacturerData Value: 00 75 00 09 01 00 00 00 06 01 00 00 00 00 00 00 .u............. 00 00 00 00 00 00 00 00 ....... [NEW] Device 4A:04:87:DF:CB:35 4A-04-87-DF-CB-35 [DEL] Device 52:2F:07:6F:AA:93 52-2F-07-6F-AA-93 Copy to clipboard ## Stop Bluetooth Low Energy GATT scan To stop a Bluetooth Low Energy GATT scan, run the following command from the `bluetoothctl` menu: scan off Copy to clipboard **Sample output** [MyDeviceB]# scan off Discovery stopped [CHG] Device A4:30:7A:EE:AF:EF RSSI is nil [CHG] Device F8:7D:76:9D:9B:6B RSSI is nil [CHG] Controller 22:22:9B:2C:79:1E Discovering: no Copy to clipboard ## Get the list of attributes To get the list of attributes of the remote device, run the following command from the `menu gatt` menu: list-attributes Copy to clipboard **Parameters** `` is the address of the remote device. **Example** To list the attributes of the remote device with the address `6D:38:AF:C6:B5:62`, run the following command: list-attributes 6D:38:AF:C6:B5:62 Copy to clipboard **Sample output** [MyDeviceB]# list-attributes 6D:38:AF:C6:B5:62 Primary Service (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001 00001801-0000-1000-8000-00805f9b34fb Generic Attribute Profile Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0002 00002a05-0000-1000-8000-00805f9b34fb Service Changed Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0004 00002b3a-0000-1000-8000-00805f9b34fb Server Supported Features Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0006 00002b29-0000-1000-8000-00805f9b34fb Client Supported Features Characteristic (Handle 0x0000) /org/bluez/hci0/dev_6D_38_AF_C6_B5_62/service0001/char0008 00002b2a-0000-1000-8000-00805f9b34fb Database Hash Copy to clipboard ## Get attribute information To get the information of an attribute, run the following command from the `menu gatt` menu: attribute-info Copy to clipboard **Parameters** `` is the UUID or the attribute path. **Example** To get the information of an attribute with the UUID `00002b29-0000-1000-8000-00805f9b34fb`, run the following command: attribute-info 00002b29-0000-1000-8000-00805f9b34fb Copy to clipboard **Sample output** [MyDeviceB]# attribute-info 00002b29-0000-1000-8000-00805f9b34fb Characteristic - Client Supported Features UUID: 00002b29-0000-1000-8000-00805f9b34fb Service: /org/bluez/hci0/dev_73_F4_3F_FA_0A_DF/service0001 Flags: read Flags: write MTU: 0x0205 Copy to clipboard ## Select an attribute To select the attribute using the UUID or path, run the following command from the `menu gatt` menu: select-attribute Copy to clipboard **Parameters** `` is the UUID or path of the attribute. **Example** - To select an attribute using the UUID `00006677-0000-1000-8000-00805f9b34fb`, run the following command: select-attribute 00006677-0000-1000-8000-00805f9b34fb Copy to clipboard **Sample output** Characteristic User Description [MyDeviceB]# select-attribute 00006677-0000-1000-8000-00805f9b34fb > > select-attribute /org/bluez/hci0/dev_6C_5F_B9_ED_5B_48/service0001/char0002 > Copy to clipboard **Sample output** > > > [MyDeviceB:/service0001/char0004]# ED_5B_48/service0001/char0002 > [MyDeviceB:/service0001/char0002]# > Copy to clipboard ## Read a characteristic value To read a characteristic value, do the following from the `menu gatt` menu: 1. [Select the intended attribute.](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-orr-wsr-mcc-08-25-24-052-26-396) 2. Read the selected attribute by running the following command: read 0 Copy to clipboard **Sample output** [MyDeviceB:/service0028/char0029]# read 0 Attempting to read /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 [CHG] Attribute /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 Value: 11 11 [MyDeviceB:/service0028/char0029]# Copy to clipboard ## Write a characteristic value To write a characteristic value, do the following from the `menu gatt` menu: 1. [Select the intended attribute.](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-orr-wsr-mcc-08-25-24-052-26-396) 2. Write a value to the selected attribute by running the following command: write "" Copy to clipboard **Parameters** `` is the value you intend to write. **Example** To write the attribute value as `0x11`, run the following command: write "0x11" Copy to clipboard **Sample output** [MyDeviceB:/service0028/char0029]# read 0b Attempting to read /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 [CHG] Attribute /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 Value: 22 22 [MyDeviceB:/service0028/char0029]# write "0x11" Attempting to write /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 [MyDeviceB:/service0028/char0029]# read 0 Attempting to read /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 [CHG] Attribute /org/bluez/hci0/dev_64_8C_C7_03_C4_B0/service0028/char0029 Value: 11 11 [MyDeviceB:/service0028/char0029]# Copy to clipboard ## Read a descriptor value To read a descriptor value, do the following from the `menu gatt` menu: 1. [Select the intended attribute.](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-orr-wsr-mcc-08-25-24-052-26-396) 2. Read the selected attribute by running the following command: read 0 Copy to clipboard **Sample output** [MyDeviceB]# select-attribute 00006677-0000-1000-8000-00805f9b34fb " Copy to clipboard **Parameters** `` is the value you intend to write. **Example** To write the attribute value as `0x11`, run the following command: write "0x11" Copy to clipboard **Sample output** [MyDeviceB]# select-attribute 00006677-0000-1000-8000-00805f9b34fb " Copy to clipboard **Parameters** `` is the value you intend to write. **Example** To write the attribute value as `0x11`, run the following command: write "0x11" Copy to clipboard 3. Enter `yes` when prompted to confirm writing. ## Turn on notifications for an attribute To turn on notifications for an attribute, do the following from the `menu gatt` menu: 1. [Select the intended attribute.](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-orr-wsr-mcc-08-25-24-052-26-396) 2. Enable notifications for the attribute by running the following command: notify on Copy to clipboard You get notifications of any changes to the attribute. **Sample output** [MyDeviceB:/service0028/char0029]# notify on [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Notifying: yes Notify started [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 55 U [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 88 . [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 55 55 UU [CHG] Device D4:8A:39:78:27:41 RSSI: -74 [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 55 U [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 11 U [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Value: 66 f Copy to clipboard ## Turn off notifications for an attribute To turn off notifications for an attribute, do the following from the `menu gatt` menu: 1. [Select the intended attribute.](https://docs.qualcomm.com/doc/80-70030-13/topic/bluez-perform-bluetooth-low-energy-gatt-client-functions.html#section-orr-wsr-mcc-08-25-24-052-26-396) 2. Disable notifications for the attribute by running the following command: notify off Copy to clipboard **Sample output** [MyDeviceB:/service0028/char0029]# notify off [CHG] Attribute /org/bluez/hci0/dev_44_38_FB_67_B2_E2/service0028/char0029 Notifying: no Notify stopped Copy to clipboard Last Published: Jun 15, 2026 [Previous Topic Perform Bluetooth Low Energy GATT server functions](https://docs.qualcomm.com/bundle/publicresource/80-70030-13/topics/bluez-perform-bluetooth-low-energy-gatt-server-functions.md) [Next Topic Verify HOGP functions](https://docs.qualcomm.com/bundle/publicresource/80-70030-13/topics/bluez-hogp.md)