linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH BlueZ v1 0/3] RAS: Add support for on-demand ranging data
@ 2026-09-08  4:27 Naga Bhavani Akella
  2026-09-08  4:27 ` [PATCH BlueZ v1 1/3] rap: Add OndemandRanging configuration option Naga Bhavani Akella
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Naga Bhavani Akella @ 2026-09-08  4:27 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

This series adds support for on-demand ranging data
delivery in RAS through a new OndemandRanging configuration option.
When enabled, the initiator uses the Get_Ranging_Data/
ACK_Ranging_Data procedure instead of real-time ranging data notifications.

The series adds configuration parsing, enables on-demand data delivery
in the reflector role, handles the associated notifications and
control point procedures in the initiator role
and ensures the initiator honors the configured setting during RAP setup.

Patches:

rap: Add OndemandRanging configuration option
shared: add on demand notification handling
profiles: honor OndemandRanging config for RAS Initiator


Naga Bhavani Akella (3):
  rap: Add OndemandRanging configuration option
  shared: add support for on-demand notification handling
  profiles: honor OndemandRanging config for RAS Initiator

 profiles/ranging/rap.c |   3 +
 src/btd.h              |   1 +
 src/main.c             |   4 +
 src/main.conf          |   8 +
 src/shared/rap.c       | 849 +++++++++++++++++++++++++++++++++++++----
 src/shared/rap.h       |   6 +
 6 files changed, 804 insertions(+), 67 deletions(-)

-- 


^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH BlueZ v1 1/3] rap: Add OndemandRanging configuration option
@ 2026-09-07 13:56 Naga Bhavani Akella
  2026-09-07 15:49 ` RAS: Add support for on-demand ranging data bluez.test.bot
  0 siblings, 1 reply; 8+ messages in thread
From: Naga Bhavani Akella @ 2026-09-07 13:56 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg,
	Naga Bhavani Akella

Add a per-adapter config knob under [ChannelSounding] to let the RAS
Initiator use on-demand Ranging Data delivery (Get_Ranging_Data/
ACK_Ranging_Data) instead of real-time notifications. Defaults to
false.

- src/btd.h: add bool ondemand_ranging to struct btd_le_bcs.
- src/main.c: parse "OndemandRanging" into
  btd_opts.defaults.bcs.ondemand_ranging.
- src/main.conf: document the new option.
---
 src/btd.h     | 1 +
 src/main.c    | 4 ++++
 src/main.conf | 8 ++++++++
 3 files changed, 13 insertions(+)

diff --git a/src/btd.h b/src/btd.h
index db2e81239..d70276b1d 100644
--- a/src/btd.h
+++ b/src/btd.h
@@ -98,6 +98,7 @@ struct btd_le_bcs {
 	uint8_t role;
 	uint8_t cs_sync_ant_sel;
 	int8_t max_tx_power;
+	bool ondemand_ranging;
 };
 
 struct btd_defaults {
diff --git a/src/main.c b/src/main.c
index 8aa19a3e3..c7a55d30f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -160,6 +160,7 @@ static const char *const bcs_options[] = {
 	"Role",
 	"CsSyncAntennaSel",
 	"MaxTxPower",
+	"OndemandRanging",
 	NULL
 };
 
@@ -1301,6 +1302,8 @@ static void parse_le_cs_config(GKeyFile *config)
 	parse_config_signed_int(config, "ChannelSounding",
 			"MaxTxPower", &btd_opts.defaults.bcs.max_tx_power,
 			INT8_MIN, INT8_MAX);
+	parse_config_bool(config, "ChannelSounding", "OndemandRanging",
+			&btd_opts.defaults.bcs.ondemand_ranging);
 }
 
 static void parse_avdtp_session_mode(GKeyFile *config)
@@ -1437,6 +1440,7 @@ static void init_defaults(void)
 	btd_opts.defaults.bcs.role = 0x03;
 	btd_opts.defaults.bcs.cs_sync_ant_sel = 0xFF;
 	btd_opts.defaults.bcs.max_tx_power = 0x14;
+	btd_opts.defaults.bcs.ondemand_ranging = false;
 }
 
 static void log_handler(const gchar *log_domain, GLogLevelFlags log_level,
diff --git a/src/main.conf b/src/main.conf
index 80f4a3a0c..1d8e97dc6 100644
--- a/src/main.conf
+++ b/src/main.conf
@@ -323,6 +323,14 @@
 # Default: 20 (Max Power possible)
 #MaxTxPower = 20
 
+# Enables on-demand Ranging Data delivery for the RAS Initiator role.
+# When true, the initiator subscribes to the On-demand Ranging Data,
+# Ranging Data Ready/Overwritten, and RAS Control Point characteristics
+# and fetches ranging data via Get_Ranging_Data/ACK_Ranging_Data instead
+# of the default real-time streaming path.
+# Default: false (use real-time streaming)
+#OndemandRanging = false
+
 [CSIS]
 # SIRK - Set Identification Resolution Key which is common for all the
 # sets. They SIRK key is used to identify its sets. This can be any
-- 


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2026-09-08 19:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-08  4:27 [PATCH BlueZ v1 0/3] RAS: Add support for on-demand ranging data Naga Bhavani Akella
2026-09-08  4:27 ` [PATCH BlueZ v1 1/3] rap: Add OndemandRanging configuration option Naga Bhavani Akella
2026-09-08  4:32   ` RAS: Add support for on-demand ranging data bluez.test.bot
2026-09-08 18:29   ` bluez.test.bot
2026-09-08  4:27 ` [PATCH BlueZ v1 2/3] shared: add support for on-demand notification handling Naga Bhavani Akella
2026-09-08  4:27 ` [PATCH BlueZ v1 3/3] profiles: honor OndemandRanging config for RAS Initiator Naga Bhavani Akella
2026-09-08 19:20 ` [PATCH BlueZ v1 0/3] RAS: Add support for on-demand ranging data patchwork-bot+bluetooth
  -- strict thread matches above, loose matches on Subject: below --
2026-09-07 13:56 [PATCH BlueZ v1 1/3] rap: Add OndemandRanging configuration option Naga Bhavani Akella
2026-09-07 15:49 ` RAS: Add support for on-demand ranging data bluez.test.bot

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).