Linux bluetooth development
 help / color / mirror / Atom feed
From: Terry Hardie <terryh@orcas.net>
To: Anderson Lizardo <anderson.lizardo@openbossa.org>
Cc: BlueZ development <linux-bluetooth@vger.kernel.org>
Subject: Re: Passive scanning of iBeacons results in a "Data Buffer Overflow"
Date: Mon, 10 Mar 2014 17:54:17 -0700	[thread overview]
Message-ID: <9f497be2aad5f7dbe83aa1b38f7b92e7@orcas.net> (raw)
In-Reply-To: <CAJdJm_M=qHZFdGRd0B3DTNCJXyraj4+P4aDG6t7y_w76XCXYdA@mail.gmail.com>

On 2014-03-10 06:21, Anderson Lizardo wrote:
> Hi Terry,
> 
> On Sat, Mar 8, 2014 at 3:19 AM, Terry Hardie <terryh@orcas.net> wrote:
>> The problem is when running a lescan (hcitool lescan) with a LE device 
>> in
>> paring mode, which is transmitting a lot of LE Advertising report 
>> packets,
>> the HCI drivers eventually loses sync. I've traced it down to a 
>> duplicate
>> USB fragment.
> 
> I think your logs show missing USB packets (not duplicated)... More
> details below.

Interesting that it always loses 2 packets, and never 1, that's why I 
assumed duplication...

> In summary, it is expected that for devices that don't change address,
> the only byte to change is the RSSI (last byte of the last fragment).
> That's why the 2 first fragments are usually the same for all
> advertising packets.

You asked in another email if I tried a powered hub. Yes, I tried a 
powered hub. I get the same results.

Also, although it's not common, I also see these lost frames outside of 
a scan. A scan is just the easiest way to reproduce it. If I leave a tag 
broadcasting once per second, 2 receivers on the same USB bus, after an 
hour or so, the same problem happens (and this is only 1 broadcast per 
second from the PROX tag, received by 2 receivers simultaneously, 
resulting in each receiver sending 3 USB transfers to the host - 6 USB 
transfer total), so this is not just limited to high packet rates. I 
think there's some problem with USB bus contention, especially since 
both receivers try to send data to the host at EXACTLY the same time.

Terry

      reply	other threads:[~2014-03-11  0:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-28 12:41 Passive scanning of iBeacons results in a "Data Buffer Overflow" Adam Warski
2014-02-28 16:14 ` Anderson Lizardo
2014-03-01  9:34   ` Adam Warski
2014-03-01 19:11     ` Anderson Lizardo
2014-03-02 15:07       ` Adam Warski
2014-03-03 15:27         ` Adam Warski
     [not found]         ` <0BA8DEFD-9E73-4A6A-A9E6-1957634CABF8@warski.org>
2014-03-03 18:02           ` Anderson Lizardo
2014-03-03 21:06             ` Adam Warski
2014-03-03 21:25             ` Adam Warski
2014-03-03 23:07               ` Anderson Lizardo
2014-03-05 20:41                 ` Adam Warski
2014-03-10 13:09                   ` Anderson Lizardo
2014-03-16 19:53                     ` Adam Warski
2014-03-18 14:07                       ` Anderson Lizardo
2014-03-19 23:47                         ` Terry Hardie
2014-04-18  9:59                           ` Adam Warski
2014-03-08  7:19 ` Terry Hardie
2014-03-09  6:25   ` Terry Hardie
2014-03-10 13:21   ` Anderson Lizardo
2014-03-11  0:54     ` Terry Hardie [this message]

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=9f497be2aad5f7dbe83aa1b38f7b92e7@orcas.net \
    --to=terryh@orcas.net \
    --cc=anderson.lizardo@openbossa.org \
    --cc=linux-bluetooth@vger.kernel.org \
    /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