* [PATCH BlueZ 0/2] Report proper error on connect
@ 2023-08-06 8:01 Simon Mikuda
2023-08-06 8:01 ` [PATCH BlueZ 1/2] error: Add "Invalid exchange" mapping Simon Mikuda
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Simon Mikuda @ 2023-08-06 8:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Simon Mikuda
When we connect A2DP profile and remote device doesn't have our key
(e.g. was deleted) we've received "unknown" error.
These patches add mapping to "Invalid exchange" error which is returned
in this use case as "key missing" error.
Simon Mikuda (2):
error: Add "Invalid exchange" mapping
a2dp: Expose "Key missing" error
profiles/audio/a2dp.c | 1 +
src/error.c | 4 ++++
src/error.h | 2 ++
3 files changed, 7 insertions(+)
--
2.34.1
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH BlueZ 1/2] error: Add "Invalid exchange" mapping
2023-08-06 8:01 [PATCH BlueZ 0/2] Report proper error on connect Simon Mikuda
@ 2023-08-06 8:01 ` Simon Mikuda
2023-08-06 9:51 ` Report proper error on connect bluez.test.bot
2023-08-06 8:01 ` [PATCH BlueZ 2/2] a2dp: Expose "Key missing" error Simon Mikuda
2023-08-07 23:20 ` [PATCH BlueZ 0/2] Report proper error on connect patchwork-bot+bluetooth
2 siblings, 1 reply; 5+ messages in thread
From: Simon Mikuda @ 2023-08-06 8:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Simon Mikuda
This error is returned on this event:
> HCI Event: Auth Complete (0x06) plen 3
Status: PIN or Key Missing (0x06)
Handle: 11 Address: 00:00:00:00:00:00 (OUI 00-00-00)
---
src/error.c | 4 ++++
src/error.h | 2 ++
2 files changed, 6 insertions(+)
diff --git a/src/error.c b/src/error.c
index 29c071067..f179e6cda 100644
--- a/src/error.c
+++ b/src/error.c
@@ -171,6 +171,8 @@ const char *btd_error_bredr_conn_from_errno(int errno_code)
return ERR_BREDR_CONN_ABORT_BY_LOCAL;
case EPROTO:
return ERR_BREDR_CONN_LMP_PROTO_ERROR;
+ case EBADE:
+ return ERR_BREDR_CONN_KEY_MISSING;
default:
return ERR_BREDR_CONN_UNKNOWN;
}
@@ -209,6 +211,8 @@ const char *btd_error_le_conn_from_errno(int errno_code)
return ERR_LE_CONN_ABORT_BY_LOCAL;
case EPROTO:
return ERR_LE_CONN_LL_PROTO_ERROR;
+ case EBADE:
+ return ERR_LE_CONN_KEY_MISSING;
default:
return ERR_LE_CONN_UNKNOWN;
}
diff --git a/src/error.h b/src/error.h
index cc7790a23..83206cb48 100644
--- a/src/error.h
+++ b/src/error.h
@@ -43,6 +43,7 @@
#define ERR_BREDR_CONN_LMP_PROTO_ERROR "br-connection-lmp-protocol-"\
"error"
#define ERR_BREDR_CONN_CANCELED "br-connection-canceled"
+#define ERR_BREDR_CONN_KEY_MISSING "br-connection-key-missing"
#define ERR_BREDR_CONN_UNKNOWN "br-connection-unknown"
/* LE connection failure reasons */
@@ -63,6 +64,7 @@
#define ERR_LE_CONN_LL_PROTO_ERROR "le-connection-link-layer-protocol-"\
"error"
#define ERR_LE_CONN_GATT_BROWSE "le-connection-gatt-browsing"
+#define ERR_LE_CONN_KEY_MISSING "le-connection-key-missing"
#define ERR_LE_CONN_UNKNOWN "le-connection-unknown"
DBusMessage *btd_error_invalid_args(DBusMessage *msg);
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH BlueZ 2/2] a2dp: Expose "Key missing" error
2023-08-06 8:01 [PATCH BlueZ 0/2] Report proper error on connect Simon Mikuda
2023-08-06 8:01 ` [PATCH BlueZ 1/2] error: Add "Invalid exchange" mapping Simon Mikuda
@ 2023-08-06 8:01 ` Simon Mikuda
2023-08-07 23:20 ` [PATCH BlueZ 0/2] Report proper error on connect patchwork-bot+bluetooth
2 siblings, 0 replies; 5+ messages in thread
From: Simon Mikuda @ 2023-08-06 8:01 UTC (permalink / raw)
To: linux-bluetooth; +Cc: Simon Mikuda
This error is not expected and retries will likely end up with same error.
---
profiles/audio/a2dp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/profiles/audio/a2dp.c b/profiles/audio/a2dp.c
index 47b5dd7c3..b43161a13 100644
--- a/profiles/audio/a2dp.c
+++ b/profiles/audio/a2dp.c
@@ -307,6 +307,7 @@ static int error_to_errno(struct avdtp_error *err)
switch (perr) {
case EHOSTDOWN:
case ECONNABORTED:
+ case EBADE:
return -perr;
default:
/*
--
2.34.1
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH BlueZ 0/2] Report proper error on connect
2023-08-06 8:01 [PATCH BlueZ 0/2] Report proper error on connect Simon Mikuda
2023-08-06 8:01 ` [PATCH BlueZ 1/2] error: Add "Invalid exchange" mapping Simon Mikuda
2023-08-06 8:01 ` [PATCH BlueZ 2/2] a2dp: Expose "Key missing" error Simon Mikuda
@ 2023-08-07 23:20 ` patchwork-bot+bluetooth
2 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+bluetooth @ 2023-08-07 23:20 UTC (permalink / raw)
To: Simon Mikuda; +Cc: linux-bluetooth
Hello:
This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:
On Sun, 6 Aug 2023 10:01:07 +0200 you wrote:
> When we connect A2DP profile and remote device doesn't have our key
> (e.g. was deleted) we've received "unknown" error.
>
> These patches add mapping to "Invalid exchange" error which is returned
> in this use case as "key missing" error.
>
> Simon Mikuda (2):
> error: Add "Invalid exchange" mapping
> a2dp: Expose "Key missing" error
>
> [...]
Here is the summary with links:
- [BlueZ,1/2] error: Add "Invalid exchange" mapping
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=0ee60b31a843
- [BlueZ,2/2] a2dp: Expose "Key missing" error
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=59569c1f947d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-08-07 23:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-06 8:01 [PATCH BlueZ 0/2] Report proper error on connect Simon Mikuda
2023-08-06 8:01 ` [PATCH BlueZ 1/2] error: Add "Invalid exchange" mapping Simon Mikuda
2023-08-06 9:51 ` Report proper error on connect bluez.test.bot
2023-08-06 8:01 ` [PATCH BlueZ 2/2] a2dp: Expose "Key missing" error Simon Mikuda
2023-08-07 23:20 ` [PATCH BlueZ 0/2] Report proper error on connect patchwork-bot+bluetooth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox