All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Mathieu Ocaña" <mo@esd-dev.be>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: Notify problem in gatt plugin
Date: Tue, 20 Jan 2015 23:44:30 +0100	[thread overview]
Message-ID: <54BEDA4E.30708@esd-dev.be> (raw)
In-Reply-To: <CABBYNZLeCn1UypeiJ3p8PEZQffeHcpcjz5QDPzURMx4XCy2Dfw@mail.gmail.com>

Hi Luiz,

Le 20/01/2015 10:30, Luiz Augusto von Dentz a écrit :
> Hi Mathieu,
>
> On Mon, Jan 19, 2015 at 6:20 PM, Mathieu Ocaña <mo@esd-dev.be> 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?
I'm using the v5.27. I see no signs of disconnection in the debug 
messages, but I will explore this lead.
For now I use a Nordic dongle & software (master panel monitor) for my 
tests and the connection seems ok (even if the notificatons are not 
sent, the read/write operation are performed witout problem). But when I 
use gatttool I'm disconnected constantly after 5-15s, (in this case the 
debug log tells me it).
I have not yet tested with a BT LE-enabled smartphone, but if I'm also 
disconnected, maybe the two problems are related.

>>> 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
Ok, I had totally forgotten this file. According to the coding 
standards, I've some modifications to do.
The answer is maybe obvious, but if I modify the behavior of the 
function gatt_service_add(), I should also patch the profiles and 
plugins which use it, accordingly?

Thank for your answer,

--
Mathieu OCAÑA


  reply	other threads:[~2015-01-20 22:44 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19 16:20 Notify problem in gatt plugin Mathieu Ocaña
2015-01-20  9:30 ` Luiz Augusto von Dentz
2015-01-20 22:44   ` Mathieu Ocaña [this message]
2015-01-28  1:33     ` Notify problem in gatt plugin - solved Mathieu Ocaña

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54BEDA4E.30708@esd-dev.be \
    --to=mo@esd-dev.be \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.