I've added a service and charecteristic with bluetoothctl (bluez v5.64). I have some issues:
I can only write one byte. attempting write "0x11 0x22" results in "Unable to write local attribute /org/bluez/app/service0/chrc0". see below.
I saw in gatt-api I can set mtu when performing read/write, is that option available via bluetoothctl?
not sure why attribute-info is not honored. any idea why?
thanks!
#list-attributes local
Primary Service (Handle 0x0029)
/org/bluez/app/service0
00071100-f0d4-469d-afd3-605a6ebbdb13
Vendor specific
Characteristic (Handle 0x002b)
/org/bluez/app/service0/chrc0
0d271100-1111-469d-afd3-605a6ebbdb13
Vendor specific
[/org/bluez/app/service0/chrc0]# select-attribute 0d271100-1111-469d-afd3-605a6ebbdb13
[/org/bluez/app/service0/chrc0]# write "0x1 0x2"
Unable to write local attribute /org/bluez/app/service0/chrc0
[/org/bluez/app/service0/chrc0]# write "0x3"
[CHG] Attribute /org/bluez/app/service0/chrc0 (Vendor specific) written
attribute-info 0d271100-1111-469d-afd3-605a6ebbdb13
Attribute 0d271100-1111-469d-afd3-605a6ebbdb13 not available
well, looked in the bluetoothctl code. it seems that when creating the charecteristic (register-characteristic) the enter value sets the maximum characteristic length..
eg.