From: Marcel Holtmann <marcel@holtmann.org>
To: Scott James Remnant <scott@netsplit.com>
Cc: linux-bluetooth@vger.kernel.org, keybuk@chromium.org
Subject: Re: [PATCHv2 0/4] Add support for bonding callbacks and retrying
Date: Mon, 30 Jan 2012 13:51:32 -0800 [thread overview]
Message-ID: <1327960292.1955.177.camel@aeonflux> (raw)
In-Reply-To: <CA+bD78it1S40KTRA+F9QX0KCVG3jDQsS=VdvEjuRdyxUPN4qhw@mail.gmail.com>
Hi Scott,
> > > This adds plugin support for a callback called when bonding completes,
> > > either successfully or fails, or is cancelled. In the success or failure
> > > cases the callback may return TRUE, in which case the bonding is retried
> > > after a short backoff period.
> > >
> > yesterday Johan and talked about this a little bit and I just wanna
> > quickly iterate some small comments here.
> >
> Great!
>
> > So we should only allow retrying when we initiated the bonding. If the
> > other side started the pairing, then retrying should not even be
> > considered.
> >
> I thought I put a check in for that, but I've just realized that after
> I separated out the autopair and the keyboard pairing stuff, that
> check ended up only in the keyboard pairing side.
>
> My intent was this entire path should be only when the host initiated
> the bonding, not the client.
to be honest, I did not get further into actually checking the code
itself. I just wanted to ensure we are on the same and expecting how
this is suppose to work ;)
> > We have to also ensure that we do not disconnect the ACL in between the
> > retry attempts. Otherwise some car kits might cancel their pairing
> > procedure and you have to have user interaction to get it back into
> > pairing mode. So if the ACL gets disconnect, then we should just fail
> > and cancel the bonding.
> >
> In my testing, OS X/iOS drop the ACL between retry attempts - so we
> wouldn't be any worse than they are. I'm not sure whether it's even
> possible in bluez to avoid dropping the ACL?
Is Apple doing retried pairing (or auto-pairing) as well?
Strictly speaking the ACL disconnect is host stack triggered. So you
have HCI_Authentication_Requested and you can just execute that again
with the same link. We also do have a ACL disconnect timeout handling of
2 seconds that will allow sockets to re-use the same ACL link. Can you
provide some hcidump traces from your test cases?
Regards
Marcel
next prev parent reply other threads:[~2012-01-30 21:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-24 18:47 [PATCHv2 0/4] Add support for bonding callbacks and retrying Scott James Remnant
2012-01-24 18:47 ` [PATCHv2 1/4] Add support for retrying a bonding Scott James Remnant
2012-01-24 18:47 ` [PATCHv2 2/4] plugin: Add bonding callback support for plugins Scott James Remnant
2012-01-24 18:47 ` [PATCHv2 3/4] bonding: retry if callback returns TRUE Scott James Remnant
2012-01-24 18:47 ` [PATCHv2 4/4] bonding: call plugin callback on cancellation Scott James Remnant
2012-01-30 19:41 ` [PATCHv2 0/4] Add support for bonding callbacks and retrying Marcel Holtmann
2012-01-30 21:38 ` Scott James Remnant
2012-01-30 21:51 ` Marcel Holtmann [this message]
2012-01-30 21:57 ` Scott James Remnant
2012-01-30 22:08 ` Marcel Holtmann
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=1327960292.1955.177.camel@aeonflux \
--to=marcel@holtmann.org \
--cc=keybuk@chromium.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=scott@netsplit.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).