All of lore.kernel.org
 help / color / mirror / Atom feed
* [BlueZ PATCH v6] doc:adding definitions for load default params mgmt op
@ 2020-05-28 13:54 Alain Michaud
  2020-06-10  8:50 ` Marcel Holtmann
  0 siblings, 1 reply; 2+ messages in thread
From: Alain Michaud @ 2020-05-28 13:54 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Alain Michaud

This change adds the definition for the read/set default parameter
commands.

In particular, these commands are used to read and set the system
default parameters.  The use of a TLV format also ensures that
parameters are expandable in the future.

This will allow bluetoothd to load parameters from a conf file that may
be customized for the specific requirements of each platforms.

---

 doc/mgmt-api.txt | 113 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)

diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
index 6ee01fed8..cbe6422a5 100644
--- a/doc/mgmt-api.txt
+++ b/doc/mgmt-api.txt
@@ -3223,6 +3223,119 @@ Set Experimental Feature Command
 				Invalid Index
 
 
+Read Default System Configuration Command
+=============================
+
+	Command Code:		0x004b
+	Controller Index:	<controller id>
+	Command Parameters:
+	Return Parameters:	Parameter1 {
+					Parameter_Type (2 Octet)
+					Value_Length (1 Octet)
+					Value (0-255 Octets)
+				}
+				Parameter2 { }
+				...
+
+	This command is used to read a list of default controller parameters.
+
+	Currently defined Parameter_Type values are:
+
+		0x0000	BR/EDR Page Scan Type
+		0x0001	BR/EDR Page Scan Interval
+		0x0002	BR/EDR Page Scan Window
+		0x0003	BR/EDR Inquiry Scan Type
+		0x0004	BR/EDR Inquiry Scan Interval
+		0x0005	BR/EDR Inquiry Scan Window
+		0x0006	BR/EDR Link Supervision Timeout
+		0x0007	BR/EDR Page Timeout
+		0x0008	BR/EDR Min Sniff Interval
+		0x0009	BR/EDR Max Sniff Interval
+		0x000a	LE Advertisement Min Interval
+		0x000b	LE Advertisement Max Interval
+		0x000c	LE Multi Advertisement Rotation Interval
+		0x000d	LE Scanning Interval for auto connect
+		0x000e	LE Scanning Window for auto connect
+		0x000f	LE Scanning Interval for wake scenarios
+		0x0010	LE Scanning Window for wake scenarios
+		0x0011	LE Scanning Interval for discovery
+		0x0012	LE Scanning Window for discovery
+		0x0013	LE Scanning Interval for adv monitoring
+		0x0014	LE Scanning Window for adv monitoring
+		0x0015	LE Scanning Interval for connect
+		0x0016	LE Scanning Window for connect
+		0x0017	LE Min Connection Interval
+		0x0018	LE Max Connection Interval
+		0x0019	LE Connection Latency
+		0x001a	LE Connection Supervision Timeout
+
+	This command can be used at any time and will return a list of supported
+	parameters as well as their current default value.
+
+	This command generates a Command Complete event on success or
+	a Command Status event on failure.
+
+	Possible errors:	Invalid Parameters
+				Invalid Index
+
+Set Default System Configuration Command
+=============================
+
+	Command Code:		0x004c
+	Controller Index:	<controller id>
+	Command Parameters:	Parameter1 {
+					Parameter_Type (2 Octet)
+					Value_Length (1 Octet)
+					Value (0-255 Octets)
+				}
+				Parameter2 { }
+				...
+	Return Parameters:
+
+	This command is used to set a list of default controller parameters.
+
+	Currently defined Parameter_Type values are:
+
+		0x0000	BR/EDR Page Scan Type
+		0x0001	BR/EDR Page Scan Interval
+		0x0002	BR/EDR Page Scan Window
+		0x0003	BR/EDR Inquiry Scan Type
+		0x0004	BR/EDR Inquiry Scan Interval
+		0x0005	BR/EDR Inquiry Scan Window
+		0x0006	BR/EDR Link Supervision Timeout
+		0x0007	BR/EDR Page Timeout
+		0x0008	BR/EDR Min Sniff Interval
+		0x0009	BR/EDR Max Sniff Interval
+		0x000a	LE Advertisement Min Interval
+		0x000b	LE Advertisement Max Interval
+		0x000c	LE Multi Advertisement Rotation Interval
+		0x000d	LE Scanning Interval for auto connect
+		0x000e	LE Scanning Window for auto connect
+		0x000f	LE Scanning Interval for wake scenarios
+		0x0010	LE Scanning Window for wake scenarios
+		0x0011	LE Scanning Interval for discovery
+		0x0012	LE Scanning Window for discovery
+		0x0013	LE Scanning Interval for adv monitoring
+		0x0014	LE Scanning Window for adv monitoring
+		0x0015	LE Scanning Interval for connect
+		0x0016	LE Scanning Window for connect
+		0x0017	LE Min Connection Interval
+		0x0018	LE Max Connection Interval
+		0x0019	LE Connection Latency
+		0x001a	LE Connection Supervision Timeout
+
+	This command can be used when the controller is not powered and
+	all supported parameters will be programmed once powered. Non supported
+	parameters will be ignored.  Note that these only control the default
+	parameters.  Higher level Apis may influence the effective value used.
+
+	This command generates a Command Complete event on success or
+	a Command Status event on failure.
+
+	Possible errors:	Invalid Parameters
+				Invalid Index
+
+
 Command Complete Event
 ======================
 
-- 
2.27.0.rc0.183.gde8f92d652-goog


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

* Re: [BlueZ PATCH v6] doc:adding definitions for load default params mgmt op
  2020-05-28 13:54 [BlueZ PATCH v6] doc:adding definitions for load default params mgmt op Alain Michaud
@ 2020-06-10  8:50 ` Marcel Holtmann
  0 siblings, 0 replies; 2+ messages in thread
From: Marcel Holtmann @ 2020-06-10  8:50 UTC (permalink / raw)
  To: Alain Michaud; +Cc: linux-bluetooth

Hi Alain,

> This change adds the definition for the read/set default parameter
> commands.
> 
> In particular, these commands are used to read and set the system
> default parameters.  The use of a TLV format also ensures that
> parameters are expandable in the future.
> 
> This will allow bluetoothd to load parameters from a conf file that may
> be customized for the specific requirements of each platforms.
> 
> ---
> 
> doc/mgmt-api.txt | 113 +++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 113 insertions(+)

patch has been applied.

> diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt
> index 6ee01fed8..cbe6422a5 100644
> --- a/doc/mgmt-api.txt
> +++ b/doc/mgmt-api.txt
> @@ -3223,6 +3223,119 @@ Set Experimental Feature Command
> 				Invalid Index
> 
> 
> +Read Default System Configuration Command
> +=============================
> +
> +	Command Code:		0x004b
> +	Controller Index:	<controller id>
> +	Command Parameters:
> +	Return Parameters:	Parameter1 {
> +					Parameter_Type (2 Octet)
> +					Value_Length (1 Octet)
> +					Value (0-255 Octets)
> +				}
> +				Parameter2 { }
> +				...
> +
> +	This command is used to read a list of default controller parameters.
> +
> +	Currently defined Parameter_Type values are:
> +
> +		0x0000	BR/EDR Page Scan Type
> +		0x0001	BR/EDR Page Scan Interval
> +		0x0002	BR/EDR Page Scan Window
> +		0x0003	BR/EDR Inquiry Scan Type
> +		0x0004	BR/EDR Inquiry Scan Interval
> +		0x0005	BR/EDR Inquiry Scan Window
> +		0x0006	BR/EDR Link Supervision Timeout
> +		0x0007	BR/EDR Page Timeout
> +		0x0008	BR/EDR Min Sniff Interval
> +		0x0009	BR/EDR Max Sniff Interval
> +		0x000a	LE Advertisement Min Interval
> +		0x000b	LE Advertisement Max Interval
> +		0x000c	LE Multi Advertisement Rotation Interval
> +		0x000d	LE Scanning Interval for auto connect
> +		0x000e	LE Scanning Window for auto connect
> +		0x000f	LE Scanning Interval for wake scenarios
> +		0x0010	LE Scanning Window for wake scenarios
> +		0x0011	LE Scanning Interval for discovery
> +		0x0012	LE Scanning Window for discovery
> +		0x0013	LE Scanning Interval for adv monitoring
> +		0x0014	LE Scanning Window for adv monitoring
> +		0x0015	LE Scanning Interval for connect
> +		0x0016	LE Scanning Window for connect
> +		0x0017	LE Min Connection Interval
> +		0x0018	LE Max Connection Interval
> +		0x0019	LE Connection Latency
> +		0x001a	LE Connection Supervision Timeout
> +
> +	This command can be used at any time and will return a list of supported
> +	parameters as well as their current default value.
> +
> +	This command generates a Command Complete event on success or
> +	a Command Status event on failure.
> +
> +	Possible errors:	Invalid Parameters
> +				Invalid Index
> +
> +Set Default System Configuration Command
> +=============================
> +
> +	Command Code:		0x004c
> +	Controller Index:	<controller id>
> +	Command Parameters:	Parameter1 {
> +					Parameter_Type (2 Octet)
> +					Value_Length (1 Octet)
> +					Value (0-255 Octets)
> +				}
> +				Parameter2 { }
> +				...
> +	Return Parameters:
> +
> +	This command is used to set a list of default controller parameters.
> +
> +	Currently defined Parameter_Type values are:
> +
> +		0x0000	BR/EDR Page Scan Type
> +		0x0001	BR/EDR Page Scan Interval
> +		0x0002	BR/EDR Page Scan Window
> +		0x0003	BR/EDR Inquiry Scan Type
> +		0x0004	BR/EDR Inquiry Scan Interval
> +		0x0005	BR/EDR Inquiry Scan Window
> +		0x0006	BR/EDR Link Supervision Timeout
> +		0x0007	BR/EDR Page Timeout
> +		0x0008	BR/EDR Min Sniff Interval
> +		0x0009	BR/EDR Max Sniff Interval
> +		0x000a	LE Advertisement Min Interval
> +		0x000b	LE Advertisement Max Interval
> +		0x000c	LE Multi Advertisement Rotation Interval
> +		0x000d	LE Scanning Interval for auto connect
> +		0x000e	LE Scanning Window for auto connect
> +		0x000f	LE Scanning Interval for wake scenarios
> +		0x0010	LE Scanning Window for wake scenarios
> +		0x0011	LE Scanning Interval for discovery
> +		0x0012	LE Scanning Window for discovery
> +		0x0013	LE Scanning Interval for adv monitoring
> +		0x0014	LE Scanning Window for adv monitoring
> +		0x0015	LE Scanning Interval for connect
> +		0x0016	LE Scanning Window for connect
> +		0x0017	LE Min Connection Interval
> +		0x0018	LE Max Connection Interval
> +		0x0019	LE Connection Latency
> +		0x001a	LE Connection Supervision Timeout

However I collapsed this into see the Read command.

> +	This command can be used when the controller is not powered and
> +	all supported parameters will be programmed once powered. Non supported
> +	parameters will be ignored.  Note that these only control the default
> +	parameters.  Higher level Apis may influence the effective value used.

And I think it is prudent that the kernel does a validity check and fails gracefully. Let bluetoothd do all the work for creating the correct set of parameters to supply. We have the read command to know which ones are supported and which are not.

Regards

Marcel


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

end of thread, other threads:[~2020-06-10  8:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-28 13:54 [BlueZ PATCH v6] doc:adding definitions for load default params mgmt op Alain Michaud
2020-06-10  8:50 ` Marcel Holtmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.