From: Marcel Holtmann <marcel@holtmann.org>
To: Nick Pelly <npelly@google.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: Keeping ACL link around after DBUS CreateBonding()
Date: Mon, 06 Oct 2008 18:26:24 +0200 [thread overview]
Message-ID: <1223310384.11272.209.camel@violet.holtmann.net> (raw)
In-Reply-To: <35c90d960810060918l5887aedya50893238ca3aee7@mail.gmail.com>
Hi Nick,
> >> >> I have memories of one of you talking about a custom change to bluez
> >> >> to not immediately drop the ACL link once DBUS CreateBonding() has
> >> >> finished (so that SDP can then be done on that link).
> >> >>
> >> >> Do you know the patch to do this? I am currently experimenting with
> >> >> changing the timer expiry in hci_conn_put() for disc_timer. Maybe
> >> >> there's a nicer way.
> >> >
> >> > do you have a trace in BTSnoop format for me. We are using L2CAP raw
> >> > sockets for bonding and thus the default 2 seconds disconnect timeout
> >> > applies. Enough time to get SDP started on the same link. If the remote
> >> > side however decides to disconnect us, we are out of luck.
> >>
> >> For this situation the ACL connection is not complete, so the 10ms
> >> timeout applies. I have a patch to use the 2 second timeout code path
> >> for both connecting and connected. I wonder if this would be useful in
> >> mainline, or if this is just a strange behavior of our BRF6300 (it
> >> completes pin code and link key before the ACL link is reported as
> >> connected). I'll send you some logs tomorrow if that would still help.
> >
> > that is not strange behavior. That is just a device in security mode 3.
> > The important question is who disconnects the link.
>
> We (bluez kernel stack) disconnect the link due to the 10 ms timeout
> that applies when the ACL link is in CONNECT. Here is a patch to use
> the 2 second time out during CONNECT phase as well as CONNECTED. Does
> this patch seem reasonable? It looks like just CONNECT || CONNECTED is
> sufficient, but there are other modes like CONNECT2.
I really need to have a BTSnoop trace of this. I am not sure why you end
up in a situation where the timer is active anyway. What kernel version
are you running? Can you re-produce it with a 2.6.27-rc8 one?
The CONNECT2 is the re-try case for concurrent connection attempts where
link manager does not queue up the create connection.
Regards
Marcel
next prev parent reply other threads:[~2008-10-06 16:26 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-03 0:47 Keeping ACL link around after DBUS CreateBonding() Nick Pelly
2008-10-03 6:36 ` Marcel Holtmann
2008-10-03 6:42 ` Nick Pelly
2008-10-03 6:56 ` Marcel Holtmann
2008-10-06 16:18 ` Nick Pelly
2008-10-06 16:26 ` Marcel Holtmann [this message]
2008-10-06 21:42 ` Nick Pelly
2008-10-06 22:33 ` 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=1223310384.11272.209.camel@violet.holtmann.net \
--to=marcel@holtmann.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=npelly@google.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