From: "Michał Lowas-Rzechonek" <michal.lowas-rzechonek@silvair.com>
To: linux-bluetooth@vger.kernel.org
Subject: Format of HCI LE Advertising Report Event
Date: Wed, 23 Jan 2019 11:24:52 +0100 [thread overview]
Message-ID: <20190123102452.o5xvunjcsx57pdwl@scytale> (raw)
Hi,
I've been reading Bluetooth Core spec v5.0, looking for a way to
optimize sending LE Advertising Report events through HCI.
It turns out that spec allows concatenating a few reports into a single
HCI frame: 7.7.65.2 says that "The Controller may queue these
advertising reports and send information from multiple devices in one LE
Advertising Report event. So far, so good.
The question I have is about the exact format of this event. Wording and
tables in the spec suggest that fields from concatenated reports should
be interleaved in the HCI frame, that is for num_reports = 2, fields
should be ordered as follows:
event_type[0]
event_type[1]
address_type[0]
address_type[1]
address[0]
address[1]
length[0]
length[1]
data[0]
data[1]
rssi[0]
rssi[1]
I don't this format is "natural", if I were to choose I would rather
simply concatenate a few reports. This is exactly what BlueZ (and other
projects too, like Zephyr) expects in tools/parser/hci.c:
static inline void evt_le_advertising_report_dump(int level, struct frame *frm)
{
uint8_t num_reports = p_get_u8(frm);
while (num_reports--) {
le_advertising_info *info = frm->ptr;
/* .... */
frm->ptr += LE_ADVERTISING_INFO_SIZE + info->length;
frm->len -= LE_ADVERTISING_INFO_SIZE + info->length;
frm->ptr += RSSI_SIZE;
frm->len -= RSSI_SIZE;
}
}
Who is right? Seems like most of implementations deviate from the
spec, but OTOH I haven't seen any HCI controllers sending num_reports
greater than 1...
cheers
--
Michał Lowas-Rzechonek <michal.lowas-rzechonek@silvair.com>
Silvair http://silvair.com
Jasnogórska 44, 31-358 Krakow, POLAND
next reply other threads:[~2019-01-23 10:24 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-23 10:24 Michał Lowas-Rzechonek [this message]
2019-01-23 10:37 ` Format of HCI LE Advertising Report Event Johan Hedberg
2019-01-23 10:47 ` Michał Lowas-Rzechonek
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=20190123102452.o5xvunjcsx57pdwl@scytale \
--to=michal.lowas-rzechonek@silvair.com \
--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