From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ v1 00/12] Add support for Shorter Connection Interval (SCI)
Date: Fri, 24 Jul 2026 15:12:13 -0400 [thread overview]
Message-ID: <20260724191225.1815634-1-luiz.dentz@gmail.com> (raw)
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This series adds support for the Shorter Connection Interval (SCI) feature
introduced in Bluetooth Core Specification 6.2 and used by HIDS 1.1 / HOGP
v1.2.
SCI allows an LE ACL connection to use very short connection intervals (as
low as 1.25 ms) combined with a subrating factor, so a device such as a HID
peripheral can achieve low input latency while keeping power consumption
manageable. The connection rate parameters (connection interval range,
subrate factor range, peripheral latency, continuation number and
supervision timeout) are negotiated with the LE Connection Rate Request
procedure.
The series covers the full stack:
- HIDS 1.1 GATT discovery: the HID SCI Mode (0x2C39) and HID SCI Information
(0x2C3A) characteristics, and the SCI flags in the HID Information
characteristic.
- Management interface: a new Shorter Connection Interval setting (bit 25) to
advertise controller support, a Load Connection Subrate command (0x005C) to
load per-device connection subrate parameters, and a Connection Subrate
event (0x0033) to report rate changes. Parameters are persisted per device
in the [ConnectionSubrate] storage group.
- bluetoothctl: a conn-subrate command in the mgmt submenu to load subrate
parameters, pre or post connection.
- monitor (btmon) decoding for the new command, setting and event.
- Emulation and tests: btdev and bthost gain SCI command/event support, and
mgmt-tester and l2cap-tester cover the setting, the Load Connection Subrate
command and connections for each of the four HOGP v1.2 recommended modes
(Fast, Default, Low Power and Full Range), on both the client (central) and
server (peripheral) side.
The corresponding kernel support (HCI commands/events, the SCI feature init
sequence and the MGMT Load Connection Subrate command) has already been
submitted separately.
HCI reference for the feature this series builds on:
Commands (OGF 0x08):
HCI_LE_Connection_Rate_Request 0x00A1 (octet 48 bit 5)
HCI_LE_Set_Default_Rate_Parameters 0x00A2 (octet 48 bit 6)
HCI_LE_Read_Min_Supported_Conn_Interval 0x00A3 (octet 48 bit 7)
Event:
LE Connection Rate Change subevent 0x37
Feature bits (LE feature page 1, via LE Read All Local Features):
Shorter Connection Intervals page 1 bit 8
Shorter Connection Intervals (Host Support) page 1 bit 9
Luiz Augusto von Dentz (12):
input/hog-lib: Add discovery support for HIDS 1.1 SCI attributes
emulator/btdev: Add emulation support for HIDS 1.1 SCI commands
mgmt: Add Shorter Connection Interval setting and Load Connection
Subrate
mgmt-tester: Add tests for SCI setting and Load Connection Subrate
adapter: Add support for loading connection subrate parameters
monitor: Add decoding for Load Connection Subrate, SCI setting and
event
doc: Document ConnectionSubrate storage format
client/mgmt: Add conn-subrate command
mgmt-tester: Add HIDS recommended SCI parameter tests
l2cap-tester: Add SCI mode tests for LE client connections
emulator/bthost: Add LE Connection Rate Request support
l2cap-tester: Add SCI mode tests for LE server connections
client/mgmt.c | 88 ++++++++++++++++++
doc/bluetoothctl-mgmt.rst | 21 +++++
doc/mgmt-protocol.rst | 125 ++++++++++++++++++++++++++
doc/settings-storage.txt | 22 +++++
emulator/btdev.c | 107 ++++++++++++++++++++++
emulator/btdev.h | 1 +
emulator/bthost.c | 36 ++++++++
emulator/bthost.h | 14 +++
emulator/hciemu.c | 3 +
emulator/hciemu.h | 1 +
lib/bluetooth/mgmt.h | 31 +++++++
monitor/packet.c | 62 +++++++++++++
profiles/input/hog-lib.c | 106 +++++++++++++++++++++-
src/adapter.c | 172 ++++++++++++++++++++++++++++++++++++
tools/l2cap-tester.c | 181 ++++++++++++++++++++++++++++++++++++++
tools/mgmt-tester.c | 163 ++++++++++++++++++++++++++++++++++
16 files changed, 1132 insertions(+), 1 deletion(-)
--
2.54.0
next reply other threads:[~2026-07-24 19:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 19:12 Luiz Augusto von Dentz [this message]
2026-07-24 19:12 ` [PATCH BlueZ v1 01/12] input/hog-lib: Add discovery support for HIDS 1.1 SCI attributes Luiz Augusto von Dentz
2026-07-24 20:41 ` Add support for Shorter Connection Interval (SCI) bluez.test.bot
2026-07-24 19:12 ` [PATCH BlueZ v1 02/12] emulator/btdev: Add emulation support for HIDS 1.1 SCI commands Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 03/12] mgmt: Add Shorter Connection Interval setting and Load Connection Subrate Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 04/12] mgmt-tester: Add tests for SCI " Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 05/12] adapter: Add support for loading connection subrate parameters Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 06/12] monitor: Add decoding for Load Connection Subrate, SCI setting and event Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 07/12] doc: Document ConnectionSubrate storage format Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 08/12] client/mgmt: Add conn-subrate command Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 09/12] mgmt-tester: Add HIDS recommended SCI parameter tests Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 10/12] l2cap-tester: Add SCI mode tests for LE client connections Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 11/12] emulator/bthost: Add LE Connection Rate Request support Luiz Augusto von Dentz
2026-07-24 19:12 ` [PATCH BlueZ v1 12/12] l2cap-tester: Add SCI mode tests for LE server connections Luiz Augusto von Dentz
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=20260724191225.1815634-1-luiz.dentz@gmail.com \
--to=luiz.dentz@gmail.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