Re: Feature Request: Clean the cache upon device disconnection
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Date: 2016-03-10 09:11:04
Hi François, On Wed, Mar 9, 2016 at 10:47 PM, Luiz Augusto von Dentz [off-list ref] wrote:
Hi François, On Wed, Mar 9, 2016 at 6:42 PM, François Beaufort [off-list ref] wrote:quoted
As we've discovered recently (https://github.com/thegecko/web-bluetooth-dfu/issues/12#issuecomment-194348474), it looks like BlueZ trunk doesn't clean/update its cache upon device disconnection. Is this on purpose? If not, can it be fixed?I actually need more info, we do check if the cache is valid on every reconnection, can someone provide the HCI trace of the issue perhaps it is not using the fixes for the cache that have been merged upstream.
There at least 2 important fixes to the cache that where applied upstream:
Author: Luiz Augusto von Dentz [off-list ref]
Date: Mon Feb 15 14:14:31 2016 +0200
core/device: Fix not clearing Attributes before storing
This can leave the storage in a bad state if device start changing its
attributes the old one are never removed as the code reloads them with
g_key_file_load_from_file.
commit e3c14b2627ed8fd6277a72761539cb54111fc205
Author: Luiz Augusto von Dentz [off-list ref]
Date: Mon Feb 15 13:44:27 2016 +0200
core/device: Fix not reseting database if attributes cannot be loaded
If one or more attributes cannot be loaded it means the database is
probably in a bad state so just clear it so the attributes can be
discovered again.
If you don't have them it is probably not going to work since the
device appears to be changing its database while win DFU mode.
--
Luiz Augusto von Dentz