Re: [Bluez PATCH 3/3] doc: Add Name Resolve Fail flag in device found event
From: Marcel Holtmann <marcel@holtmann.org>
Date: 2021-11-11 16:35:47
Hi Archie,
quoted hunk ↗ jump to hunk
Userspace should use this new flag to decide whether to do the remote name resolving or not, by sending Confirm Name MGMT command and set the appropriate flag. This patch also extends the Confirm Name command by allowing userspace to send 0x02 to show it doesn't care about the peer devices names. --- doc/mgmt-api.txt | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt index 97d33e30a1..e4c8de39f0 100644 --- a/doc/mgmt-api.txt +++ b/doc/mgmt-api.txt@@ -1493,7 +1493,7 @@ Confirm Name CommandController Index: <controller id> Command Parameters: Address (6 Octets) Address_Type (1 Octet) - Name_Known (1 Octet) + Name_State (1 Octet) Return Parameters: Address (6 Octets) Address_Type (1 Octet)@@ -1506,10 +1506,11 @@ Confirm Name Command1 LE Public 2 LE Random - The Name_Known parameter should be set to 0x01 if user space - knows the name for the device and 0x00 if it doesn't. If set to - 0x00 the kernel will perform a name resolving procedure for the - device in question. + The Name_State parameter should be set to 0x00 if user space + doesn't know the name for the device to make the kernel + perform a name resolving procedure for the device in question. + Otherwise, set to 0x01 if user space already knew the device's + name, or 0x02 if it doesn't care.
I am a bit worried about userspace sending a 0x02 for a kernel that doesn’t understand it. Do you think the kernel can make use of this “don’t care” information? Or should we just keep it to userspace to send 0x01 / 0x00 based on its policy.
quoted hunk ↗ jump to hunk
This command can only be used when the controller is powered.@@ -4089,6 +4090,7 @@ Device Connected Event1 Legacy Pairing 2 Reserved (not in use) 3 Initiated Connection + 4 Reserved (not in use) Device Disconnected Event@@ -4263,6 +4265,7 @@ Device Found Event1 Legacy Pairing 2 Not Connectable 3 Reserved (not in use) + 4 Name Resolve Fail
I would do “Name Request Failed” here. Just to be a bit inline what the spec term is.
quoted hunk ↗ jump to hunk
For the RSSI field a value of 127 indicates that the RSSI is not available. That can happen with Bluetooth 1.1 and earlier@@ -4285,6 +4288,11 @@ Device Found Eventaccept any connections. This can be indicated by Low Energy devices that are in broadcaster role. + The Name Resolve Fail flag indicates that name resolving + procedure has ended with failure for this device. The user space + should use this information to determine when is a good time to + retry the name resolving procedure. +
Regards Marcel