Hi Mathieu, On Mon, Jan 19, 2015 at 6:20 PM, Mathieu Ocaña <mo@xxxxxxxxxx> wrote: > Hello, > > I'm currently working on a plugin to implement a GATT peripheral. Based on > the plugins/gatt-example and the profiles/alert/server, I finally got > something which works: read, write, with dbus signaling. > But, notifications doesn't work... > All seems ok until the call to "g_attrib_send()". > >>> static void attio_connected_cb(GAttrib *attrib, gpointer user_data) >>> { >>> [...] >>> len = enc_notification(p_adapter->batterylevel_chr.level_hnd_value, >>> nd->value, nd->len, pdu, len); >>> [...] >>> ret = g_attrib_send(attrib, 0, pdu, len, destroy_notify_callback, >>> cb, NULL); >>> return; >>> } > > > The parameters passed to g_attrib_send seems valid, I have verified the pdu, > len and user_data, but I'm not sure to understand well all the fields of > "attrib" (struct _GAttrib). Moreover the return value is 0. > > Some extra details: > - the destroy_notify_callback is not called (maybe normal as the > notification is not succesfully sent). > - in g_attrib_send, the call to bt_att_send() return 0. After this point my > understanding of the source code became a little bit fuzzy. You might not be connected then so perhaps there is a bug in attio callback. Which version are you using? >> It would be great if someone could suggest me a fix or a workaround. > > I have also developped some extensions for the function gatt_service_add(), > such as the support of static value characteristic, and the descriptors for > presentation format, valid range and user description. >> Before submitting this patch, I want to know which is the patch policy for >> the bluez project? (validation test to perform, etc.). It is documented in Submitting patches section in the HACKING: https://git.kernel.org/cgit/bluetooth/bluez.git/tree/HACKING -- Luiz Augusto von Dentz -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html