Usage: gatttool [OPTION...] Help Options: -h, --help Show help options --help-all Show all help options --help-gatt Show all GATT commands --help-params Show all Primary Services/Characteristics arguments --help-char-read-write Show all Characteristics Value/Descriptor Read/Write arguments GATT commands --primary Primary Service Discovery --characteristics Characteristics Discovery --char-read Characteristics Value/Descriptor Read --char-write Characteristics Value Write Without Response (Write Command) --char-write-req Characteristics Value Write (Write Request) --char-desc Characteristics Descriptor Discovery --listen Listen for notifications and indications Primary Services/Characteristics arguments -s, --start=0x0001 Starting handle(optional) -e, --end=0xffff Ending handle(optional) -u, --uuid=0x1801 UUID16 or UUID128(optional) Characteristics Value/Descriptor Read/Write arguments -a, --handle=0x0001 Read/Write characteristic by handle(required) -n, --value=0x0001 Write characteristic value (required for write operation) -o, --offset=N Offset to long read characteristic by handle Application Options: -i, --adapter=hciX Specify local adapter interface -b, --device=MAC Specify remote Bluetooth address -m, --mtu=MTU Specify the MTU size -p, --psm=PSM Specify the PSM for GATT/ATT over BR/EDR -l, --sec-level=[low | medium | high] Set security level. Default: low -I, --interactive Use interactive mode connect [address] Connect to a remote device disconnect Disconnect from a remote device primary [UUID] Primary Service Discovery characteristics [start hnd [end hnd [UUID]]] Characteristics Discovery char-desc [start hnd] [end hnd] Characteristics Descriptor Discovery char-read-hnd [offset] Characteristics Value/Descriptor Read by handle char-read-uuid [start hnd] [end hnd] Characteristics Value/Descriptor Read by UUID char-write-req Characteristic Value Write (Write Request) char-write-cmd Characteristic Value Write (No response) sec-level [low | medium | high] Set security level. Default: low mtu Exchange MTU for GATT/ATT $ sudo hcitool lescan $ sudo hcitool lecc A0:14:3D:0C:8E:91 $ sudo gatttool -i hci0 -b A0:14:3D:0C:8E:91 -I cf. http://i-miss-erin.blogspot.fr/2010/12/gatttool-in-bluez-over-bredr.html //////////////////////////////////////////////////////////////////////////////////////////////////// # cd bluez-4.101/ # apt-get install libdbus-1-dev libreadline-dev # ./configure # make # vim attrib/gattrib.c cf. can_write_data cf. received_data # vim btio/btio.c cf. socket(PF_BLUETOOTH, SOCK_SEQPACKET, BTPROTO_L2CAP) Tests : # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --primary id=1 opcode=0x10 : 0x10 0x01 0x00 0xFF 0xFF 0x00 0x28 20 octets : 0x11 0x06 0x01 0x00 0x0B 0x00 0x00 0x18 0x0C 0x00 0x0F 0x00 0x01 0x18 0x10 0x00 0x22 0x00 0x0A 0x18 id=2 opcode=0x10 : 0x10 0x23 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x23 0x00 0x41 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x00 0xFA 0xE1 0x39 id=3 opcode=0x10 : 0x10 0x42 0x00 0xFF 0xFF 0x00 0x28 8 octets : 0x11 0x06 0x42 0x00 0x45 0x00 0x0F 0x18 id=4 opcode=0x10 : 0x10 0x46 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x46 0x00 0x5E 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x00 0xFC 0xE1 0x39 id=5 opcode=0x10 : 0x10 0x5F 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x5F 0x00 0x6D 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x00 0xFB 0xE1 0x39 id=6 opcode=0x10 : 0x10 0x6E 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x6E 0x00 0x71 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x00 0xFD 0xE1 0x39 id=7 opcode=0x10 : 0x10 0x72 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x72 0x00 0x7E 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x00 0xFE 0xE1 0x39 id=8 opcode=0x10 : 0x10 0x7F 0x00 0xFF 0xFF 0x00 0x28 22 octets : 0x11 0x14 0x7F 0x00 0xFF 0xFF 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xB0 0x00 0x40 0x51 0x04 0xC0 0xFF 0x00 0xF0 attr handle = 0x0001, end grp handle = 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle = 0x000c, end grp handle = 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb attr handle = 0x0010, end grp handle = 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb attr handle = 0x0023, end grp handle = 0x0041 uuid: 39e1fa00-84a8-11e2-afba-0002a5d5c51b attr handle = 0x0042, end grp handle = 0x0045 uuid: 0000180f-0000-1000-8000-00805f9b34fb attr handle = 0x0046, end grp handle = 0x005e uuid: 39e1fc00-84a8-11e2-afba-0002a5d5c51b attr handle = 0x005f, end grp handle = 0x006d uuid: 39e1fb00-84a8-11e2-afba-0002a5d5c51b attr handle = 0x006e, end grp handle = 0x0071 uuid: 39e1fd00-84a8-11e2-afba-0002a5d5c51b attr handle = 0x0072, end grp handle = 0x007e uuid: 39e1fe00-84a8-11e2-afba-0002a5d5c51b attr handle = 0x007f, end grp handle = 0xffff uuid: f000ffc0-0451-4000-b000-000000000000 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --characteristics id=1 opcode=0x08 : 0x08 0x01 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x07 0x02 0x00 0x0E 0x03 0x00 0x00 0x2A 0x04 0x00 0x02 0x05 0x00 0x01 0x2A 0x06 0x00 0x0A 0x07 0x00 0x02 0x2A id=2 opcode=0x08 : 0x08 0x07 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x07 0x08 0x00 0x0A 0x09 0x00 0x03 0x2A 0x0A 0x00 0x02 0x0B 0x00 0x04 0x2A 0x0D 0x00 0x20 0x0E 0x00 0x05 0x2A id=3 opcode=0x08 : 0x08 0x0E 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x07 0x11 0x00 0x02 0x12 0x00 0x23 0x2A 0x13 0x00 0x02 0x14 0x00 0x24 0x2A 0x15 0x00 0x02 0x16 0x00 0x25 0x2A id=4 opcode=0x08 : 0x08 0x16 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x07 0x17 0x00 0x02 0x18 0x00 0x26 0x2A 0x19 0x00 0x02 0x1A 0x00 0x27 0x2A 0x1B 0x00 0x02 0x1C 0x00 0x28 0x2A id=5 opcode=0x08 : 0x08 0x1C 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x07 0x1D 0x00 0x02 0x1E 0x00 0x29 0x2A 0x1F 0x00 0x02 0x20 0x00 0x2A 0x2A 0x21 0x00 0x02 0x22 0x00 0x50 0x2A id=6 opcode=0x08 : 0x08 0x22 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x24 0x00 0x12 0x25 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFA 0xE1 0x39 id=7 opcode=0x08 : 0x08 0x25 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x28 0x00 0x12 0x29 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x02 0xFA 0xE1 0x39 id=8 opcode=0x08 : 0x08 0x29 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x2C 0x00 0x12 0x2D 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x03 0xFA 0xE1 0x39 id=9 opcode=0x08 : 0x08 0x2D 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x30 0x00 0x12 0x31 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x04 0xFA 0xE1 0x39 id=10 opcode=0x08 : 0x08 0x31 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x34 0x00 0x12 0x35 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x05 0xFA 0xE1 0x39 id=11 opcode=0x08 : 0x08 0x35 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x38 0x00 0x0A 0x39 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x06 0xFA 0xE1 0x39 id=12 opcode=0x08 : 0x08 0x39 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x3B 0x00 0x0A 0x3C 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x07 0xFA 0xE1 0x39 id=13 opcode=0x08 : 0x08 0x3C 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x3E 0x00 0x12 0x3F 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x08 0xFA 0xE1 0x39 id=14 opcode=0x08 : 0x08 0x3F 0x00 0xFF 0xFF 0x03 0x28 9 octets : 0x09 0x07 0x43 0x00 0x12 0x44 0x00 0x19 0x2A id=15 opcode=0x08 : 0x08 0x44 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x47 0x00 0x02 0x48 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFC 0xE1 0x39 id=16 opcode=0x08 : 0x08 0x48 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x4B 0x00 0x02 0x4C 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x02 0xFC 0xE1 0x39 id=17 opcode=0x08 : 0x08 0x4C 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x4F 0x00 0x0A 0x50 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x03 0xFC 0xE1 0x39 id=18 opcode=0x08 : 0x08 0x50 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x53 0x00 0x02 0x54 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x04 0xFC 0xE1 0x39 id=19 opcode=0x08 : 0x08 0x54 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x57 0x00 0x02 0x58 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x05 0xFC 0xE1 0x39 id=20 opcode=0x08 : 0x08 0x58 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x5B 0x00 0x02 0x5C 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x06 0xFC 0xE1 0x39 id=21 opcode=0x08 : 0x08 0x5C 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x60 0x00 0x10 0x61 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFB 0xE1 0x39 id=22 opcode=0x08 : 0x08 0x61 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x64 0x00 0x12 0x65 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x02 0xFB 0xE1 0x39 id=23 opcode=0x08 : 0x08 0x65 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x68 0x00 0x0A 0x69 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x03 0xFB 0xE1 0x39 id=24 opcode=0x08 : 0x08 0x69 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x6B 0x00 0x0A 0x6C 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x04 0xFB 0xE1 0x39 id=25 opcode=0x08 : 0x08 0x6C 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x6F 0x00 0x02 0x70 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFD 0xE1 0x39 id=26 opcode=0x08 : 0x08 0x70 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x73 0x00 0x02 0x74 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFE 0xE1 0x39 id=27 opcode=0x08 : 0x08 0x74 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x76 0x00 0x02 0x77 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x02 0xFE 0xE1 0x39 id=28 opcode=0x08 : 0x08 0x77 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x79 0x00 0x0A 0x7A 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x03 0xFE 0xE1 0x39 id=29 opcode=0x08 : 0x08 0x7A 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x7C 0x00 0x02 0x7D 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x04 0xFE 0xE1 0x39 id=30 opcode=0x08 : 0x08 0x7D 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x80 0x00 0x0E 0x81 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xB0 0x00 0x40 0x51 0x04 0xC1 0xFF 0x00 0xF0 id=31 opcode=0x08 : 0x08 0x81 0x00 0xFF 0xFF 0x03 0x28 23 octets : 0x09 0x15 0x83 0x00 0x0E 0x84 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xB0 0x00 0x40 0x51 0x04 0xC2 0xFF 0x00 0xF0 id=32 opcode=0x08 : 0x08 0x84 0x00 0xFF 0xFF 0x03 0x28 5 octets : 0x01 0x08 0x84 0x00 0x0A handle = 0x0002, char properties = 0x0e, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb handle = 0x0006, char properties = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb handle = 0x0008, char properties = 0x0a, char value handle = 0x0009, uuid = 00002a03-0000-1000-8000-00805f9b34fb handle = 0x000a, char properties = 0x02, char value handle = 0x000b, uuid = 00002a04-0000-1000-8000-00805f9b34fb handle = 0x000d, char properties = 0x20, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb handle = 0x0011, char properties = 0x02, char value handle = 0x0012, uuid = 00002a23-0000-1000-8000-00805f9b34fb handle = 0x0013, char properties = 0x02, char value handle = 0x0014, uuid = 00002a24-0000-1000-8000-00805f9b34fb handle = 0x0015, char properties = 0x02, char value handle = 0x0016, uuid = 00002a25-0000-1000-8000-00805f9b34fb handle = 0x0017, char properties = 0x02, char value handle = 0x0018, uuid = 00002a26-0000-1000-8000-00805f9b34fb handle = 0x0019, char properties = 0x02, char value handle = 0x001a, uuid = 00002a27-0000-1000-8000-00805f9b34fb handle = 0x001b, char properties = 0x02, char value handle = 0x001c, uuid = 00002a28-0000-1000-8000-00805f9b34fb handle = 0x001d, char properties = 0x02, char value handle = 0x001e, uuid = 00002a29-0000-1000-8000-00805f9b34fb handle = 0x001f, char properties = 0x02, char value handle = 0x0020, uuid = 00002a2a-0000-1000-8000-00805f9b34fb handle = 0x0021, char properties = 0x02, char value handle = 0x0022, uuid = 00002a50-0000-1000-8000-00805f9b34fb handle = 0x0024, char properties = 0x12, char value handle = 0x0025, uuid = 39e1fa01-84a8-11e2-afba-0002a5d5c51b handle = 0x0028, char properties = 0x12, char value handle = 0x0029, uuid = 39e1fa02-84a8-11e2-afba-0002a5d5c51b handle = 0x002c, char properties = 0x12, char value handle = 0x002d, uuid = 39e1fa03-84a8-11e2-afba-0002a5d5c51b handle = 0x0030, char properties = 0x12, char value handle = 0x0031, uuid = 39e1fa04-84a8-11e2-afba-0002a5d5c51b handle = 0x0034, char properties = 0x12, char value handle = 0x0035, uuid = 39e1fa05-84a8-11e2-afba-0002a5d5c51b handle = 0x0038, char properties = 0x0a, char value handle = 0x0039, uuid = 39e1fa06-84a8-11e2-afba-0002a5d5c51b handle = 0x003b, char properties = 0x0a, char value handle = 0x003c, uuid = 39e1fa07-84a8-11e2-afba-0002a5d5c51b handle = 0x003e, char properties = 0x12, char value handle = 0x003f, uuid = 39e1fa08-84a8-11e2-afba-0002a5d5c51b handle = 0x0043, char properties = 0x12, char value handle = 0x0044, uuid = 00002a19-0000-1000-8000-00805f9b34fb handle = 0x0047, char properties = 0x02, char value handle = 0x0048, uuid = 39e1fc01-84a8-11e2-afba-0002a5d5c51b handle = 0x004b, char properties = 0x02, char value handle = 0x004c, uuid = 39e1fc02-84a8-11e2-afba-0002a5d5c51b handle = 0x004f, char properties = 0x0a, char value handle = 0x0050, uuid = 39e1fc03-84a8-11e2-afba-0002a5d5c51b handle = 0x0053, char properties = 0x02, char value handle = 0x0054, uuid = 39e1fc04-84a8-11e2-afba-0002a5d5c51b handle = 0x0057, char properties = 0x02, char value handle = 0x0058, uuid = 39e1fc05-84a8-11e2-afba-0002a5d5c51b handle = 0x005b, char properties = 0x02, char value handle = 0x005c, uuid = 39e1fc06-84a8-11e2-afba-0002a5d5c51b handle = 0x0060, char properties = 0x10, char value handle = 0x0061, uuid = 39e1fb01-84a8-11e2-afba-0002a5d5c51b handle = 0x0064, char properties = 0x12, char value handle = 0x0065, uuid = 39e1fb02-84a8-11e2-afba-0002a5d5c51b handle = 0x0068, char properties = 0x0a, char value handle = 0x0069, uuid = 39e1fb03-84a8-11e2-afba-0002a5d5c51b handle = 0x006b, char properties = 0x0a, char value handle = 0x006c, uuid = 39e1fb04-84a8-11e2-afba-0002a5d5c51b handle = 0x006f, char properties = 0x02, char value handle = 0x0070, uuid = 39e1fd01-84a8-11e2-afba-0002a5d5c51b handle = 0x0073, char properties = 0x02, char value handle = 0x0074, uuid = 39e1fe01-84a8-11e2-afba-0002a5d5c51b handle = 0x0076, char properties = 0x02, char value handle = 0x0077, uuid = 39e1fe02-84a8-11e2-afba-0002a5d5c51b handle = 0x0079, char properties = 0x0a, char value handle = 0x007a, uuid = 39e1fe03-84a8-11e2-afba-0002a5d5c51b handle = 0x007c, char properties = 0x02, char value handle = 0x007d, uuid = 39e1fe04-84a8-11e2-afba-0002a5d5c51b handle = 0x0080, char properties = 0x0e, char value handle = 0x0081, uuid = f000ffc1-0451-4000-b000-000000000000 handle = 0x0083, char properties = 0x0e, char value handle = 0x0084, uuid = f000ffc2-0451-4000-b000-000000000000 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-desc id=1 opcode=0x04 : 0x04 0x01 0x00 0xFF 0xFF 22 octets : 0x05 0x01 0x01 0x00 0x00 0x28 0x02 0x00 0x03 0x28 0x03 0x00 0x00 0x2A 0x04 0x00 0x03 0x28 0x05 0x00 0x01 0x2A handle = 0x0001, uuid = 2800 handle = 0x0002, uuid = 2803 handle = 0x0003, uuid = 2a00 handle = 0x0004, uuid = 2803 handle = 0x0005, uuid = 2a01 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-read --handle=0x0024 id=1 opcode=0x0A : 0x0A 0x24 0x00 20 octets : 0x0B 0x12 0x25 0x00 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFA 0xE1 0x39 Characteristic value/descriptor: 12 25 00 1b c5 d5 a5 02 00 ba af e2 11 a8 84 01 fa e1 39 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-read --handle=0x0025 id=1 opcode=0x0A : 0x0A 0x25 0x00 3 octets : 0x0B 0xFF 0xFF Characteristic value/descriptor: ff ff $ sudo hcidump -X [sudo] password for tv: HCI sniffer - Bluetooth packet analyzer ver 2.2 device: hci0 snap_len: 1028 filter: 0xffffffffffffffff < HCI Command: LE Create Connection (0x08|0x000d) plen 25 bdaddr A0:14:3D:0C:8E:91 type 0 > HCI Event: Command Status (0x0f) plen 4 LE Create Connection (0x08|0x000d) status 0x00 ncmd 1 > HCI Event: LE Meta Event (0x3e) plen 19 LE Connection Complete status 0x00 handle 70, role master bdaddr A0:14:3D:0C:8E:91 (Public) < ACL data: handle 70 flags 0x00 dlen 7 ATT: Read req (0x0a) handle 0x0025 > HCI Event: Number of Completed Packets (0x13) plen 5 handle 70 packets 1 > ACL data: handle 70 flags 0x02 dlen 7 ATT: Read resp (0x0b) 0000: ff ff .. < HCI Command: Disconnect (0x01|0x0006) plen 3 handle 70 reason 0x13 Reason: Remote User Terminated Connection > HCI Event: Command Status (0x0f) plen 4 Disconnect (0x01|0x0006) status 0x00 ncmd 1 > HCI Event: Disconn Complete (0x05) plen 4 status 0x00 handle 70 reason 0x16 Reason: Connection Terminated by Local Host # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-read --uuid=0x2A19 id=1 opcode=0x08 : 0x08 0x01 0x00 0xFF 0xFF 0x19 0x2A 5 octets : 0x09 0x03 0x44 0x00 0x64 handle: 0x0044 value: 64 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-read --uuid=39e1fa01-84a8-11e2-afba-0002a5d5c51b id=1 opcode=0x08 : 0x08 0x01 0x00 0xFF 0xFF 0x1B 0xC5 0xD5 0xA5 0x02 0x00 0xBA 0xAF 0xE2 0x11 0xA8 0x84 0x01 0xFA 0xE1 0x39 6 octets : 0x09 0x04 0x25 0x00 0xA6 0x14 handle: 0x0025 value: a6 14 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-write --handle=0x003C --value=0x01 id=1 opcode=0x52 : 0x52 0x3C 0x00 0x00 0x01 # ./attrib/gatttool -i hci0 -b A0:14:3D:0C:8E:91 --char-read --handle=0x003C id=1 opcode=0x0A : 0x0A 0x3C 0x00 2 octets : 0x0B 0x00 Characteristic value/descriptor: 00