From: Eisenkolb Thomas <Eisenkolb.Thomas@fronius.com>
To: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Cc: Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
David Lechner <david@lechnology.com>
Subject: AW: [PATCH BlueZ v2 1/2] device: clear eir_uuids list on disconnect
Date: Thu, 26 Aug 2021 04:24:32 +0000 [thread overview]
Message-ID: <c74ad033ff8240f8a77b00c6f8f678a0@fronius.com> (raw)
In-Reply-To: <CABBYNZJzTmpvcaw5eDa9awvVZYQdJuKW7EQSYfpMOCzhorP8cg@mail.gmail.com>
Hello,
I have just found the same problem even if [GATT] Cache = no is set in main.conf.
It is simply the same because the device is held as temporary device.
Additionally the method "dev_property_get_uuids" in device.c only returns UUIDs of
the cached (temporary hold) device because dev->le_state.svc_resolved is not turned
to false on disconnect. So if a disconnected device advertised an new UUID, you never
get notified about it through dbus.
Through DBus device node I would expect to get both UUID lists. The cached ones and
also the advertised ones.
Actually I just merge the two lists and provide the result to DBus device->UUIDs request.
Hope you can change this.
Thanks.
Thomas
-----Ursprüngliche Nachricht-----
Von: Luiz Augusto von Dentz [mailto:luiz.dentz@gmail.com]
Gesendet: Donnerstag, 26. August 2021 00:13
An: David Lechner <david@lechnology.com>
Cc: linux-bluetooth@vger.kernel.org
Betreff: Re: [PATCH BlueZ v2 1/2] device: clear eir_uuids list on disconnect
Hi David,
On Wed, Aug 25, 2021 at 9:54 AM David Lechner <david@lechnology.com> wrote:
>
> The eir_uuids list contains GATT service UUIDs from advertising data.
> The device may advertise different UUIDs each time it is scanned and
> connected, so the list needs to be cleared when the device disconnects.
>
> This partially fixes an issue where the UUIDs D-Bus property is empty
> after scanning, connecting, disconnecting and scanning again when
> [GATT] Cache = yes is set in main.conf.
>
> Issue: https://github.com/bluez/bluez/issues/192
> Signed-off-by: David Lechner <david@lechnology.com>
> ---
> src/device.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/device.c b/src/device.c index 807106812..53ef3e9a1
> 100644
> --- a/src/device.c
> +++ b/src/device.c
> @@ -3129,6 +3129,9 @@ void device_remove_connection(struct btd_device
> *device, uint8_t bdaddr_type)
>
> device_update_last_seen(device, bdaddr_type);
>
> + g_slist_free_full(device->eir_uuids, g_free);
> + device->eir_uuids = NULL;
> +
> g_dbus_emit_property_changed(dbus_conn, device->path,
> DEVICE_INTERFACE,
> "Connected");
>
> --
> 2.25.1
Applied, thanks.
--
Luiz Augusto von Dentz
next prev parent reply other threads:[~2021-08-26 4:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-25 16:51 [PATCH BlueZ v2 0/2] device: fix advertising data UUIDs ignored when Cache = yes David Lechner
2021-08-25 16:51 ` [PATCH BlueZ v2 1/2] device: clear eir_uuids list on disconnect David Lechner
2021-08-25 17:16 ` device: fix advertising data UUIDs ignored when Cache = yes bluez.test.bot
2021-08-25 22:12 ` [PATCH BlueZ v2 1/2] device: clear eir_uuids list on disconnect Luiz Augusto von Dentz
2021-08-26 4:24 ` Eisenkolb Thomas [this message]
2021-08-26 16:47 ` AW: " David Lechner
2021-08-25 16:51 ` [PATCH BlueZ v2 2/2] device: set le_state.svc_resolved = false in gatt_cache_cleanup() David Lechner
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=c74ad033ff8240f8a77b00c6f8f678a0@fronius.com \
--to=eisenkolb.thomas@fronius.com \
--cc=david@lechnology.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/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