All of lore.kernel.org
 help / color / mirror / Atom feed
From: Szymon Janc <ext.szymon.janc@tieto.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: Olivier Martin <olivier.martin.fr@gmail.com>,
	"linux-bluetooth@vger.kernel.org"
	<linux-bluetooth@vger.kernel.org>
Subject: Re: Writing an out of the tree new GATT service (for Debian stable): plugin or DBus?
Date: Wed, 02 Mar 2016 15:34:20 +0100	[thread overview]
Message-ID: <11039254.T5CGnodsWr@leonov> (raw)
In-Reply-To: <CABBYNZKSpFw4arsZFA=jGNq1Q7svVzzAemHD31dfempWMqHxog@mail.gmail.com>

Hi,

On Wednesday 02 of March 2016 16:18:22 Luiz Augusto von Dentz wrote:
> Hi Olivier,
> 
> On Wed, Mar 2, 2016 at 3:20 PM, Olivier Martin
> 
> <olivier.martin.fr@gmail.com> wrote:
> > Hello all,
> > I am looking at writing a new GATT (server) service for my Linux-based
> > bluetooth device using Bluez.
> > My device use Debian stable (Jessie) that uses Bluez v5.23.
> > Ideally, I would like to build my GATT service out of the Bluez tree.
> > As far as I understand I have two solutions:
> > 
> > Solution A) Stay with Bluez v5.23 and write a plugin. I managed to
> > build `plugins/gatt-example.c` out of the tree. But when `bluetoothd`
> > loads the plugin, it fails to find the symbol `attrib_db_update`. I am
> > wondering if it is due to the fact `shared/gatt-server` has not been
> > added to v5.23
> > (https://git.kernel.org/cgit/bluetooth/bluez.git/tree/src/shared?h=5.23).
> > And in this case it would not be possible to have a GATT service out of
> > the tree for this Bluez version.
> 
> It depends on the level of control you want to have, if you need extra
> permissions and low level of access than perhaps building as a plugin
> is probably a good idea. BlueZ daemon works kind similar to the
> kernel, the internal API may change so building out of the tree will
> never be very stable, and you still have to comply to GPL.
> 
> > Solution B) Moving to the latest Bluez version and use the GATT server
> > D-BUS API. But it means I need to remove and replace Bluez on my
> > stable Debian. I understand this solution is the long term solution
> > but it might take a while before the Linux distributions used this
> > version of Bluez.
> 
> If more people like you starting using this features it might become
> stable faster, thus we encourage people to go with this solution. Btw,
> you can disable the BlueZ from your distro and just run BlueZ from
> source without overwriting anything from your distro.
> 
> > So, is it possible to have an out of the tree plugin with v5.23? I saw
> > `sixaxis` plugin. But this plugin does not manipulate GATT services
> > and characteristics.
> 
> Possible, yes, but it is not recommended, but you can try to create a
> external plugin that is build within the source tree so that we keep
> it working as we change the internal APIs.

External plugins (like sixaxis) are able to use only btd_* (plus few
exceptions) functions. If you want to use other symbols you would have
to go with builtin plugin.

-- 
BR
Szymon Janc

  reply	other threads:[~2016-03-02 14:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-02 13:20 Writing an out of the tree new GATT service (for Debian stable): plugin or DBus? Olivier Martin
2016-03-02 14:18 ` Luiz Augusto von Dentz
2016-03-02 14:34   ` Szymon Janc [this message]
2016-03-02 14:42     ` Olivier Martin
2016-03-02 14:35   ` Olivier Martin

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=11039254.T5CGnodsWr@leonov \
    --to=ext.szymon.janc@tieto.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=olivier.martin.fr@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.