2020-11-05 20:30:39

by Michael N. Moran

[permalink] [raw]
Subject: bluetooth-meshd: Leave borks bluetooth-meshd

Hi Meshers,

My provisioning/configuration application supports multiple networks.

In general, everything works great [1] for adding, provisioning and configuring the networks.

I recently added the org.bluez.mesh.Network1 Leave(token) to delete a network. The Leave() operation succeeds. However, when I subsequently try to use DevKeySend() on a different network,
the DevKeySend() succeeds but I never receive any responses from the addressed node.

If I restart my application, nothing changes.

If I restart the bluetooth-meshd, then it all starts working again
until I use Leave() again.

The mesh-cfgclient does not seem to support Leave(), which is not
too surprising since it only supports a single network.

This leads me to believe that the Leave() function in the bluetoot-meshd
is not very well tested. Please correct me if I'm wrong.

I'm willing to poke around in the bluetooth-meshd code if I can get some
pointers from the bluetooth-meshd experts. :-)

Answers:
* I am using the bluez git tip. Rebased today.

[1] Occasionaly, bluetooth-meshd seems to get into a similar state "overnight".

--
Michael N. Moran (h) 770 704 9751
218 Wilshire Terrace (c) 678 521 5460
White, GA, USA 30184 http://mnmoran.org


2020-11-06 22:53:39

by Michael N. Moran

[permalink] [raw]
Subject: Re: bluetooth-meshd: Leave borks bluetooth-meshd

I submitted a patch that fixes this issue.

On 11/5/20 3:23 PM, Michael N. Moran wrote:
> Hi Meshers,
>
> My provisioning/configuration application supports multiple networks.
>
> In general, everything works great [1] for adding, provisioning and configuring the networks.
>
> I recently added the org.bluez.mesh.Network1 Leave(token) to delete a network. The Leave() operation succeeds. However, when I subsequently try to use DevKeySend() on a different network,
> the DevKeySend() succeeds but I never receive any responses from the addressed node.
>
> If I restart my application, nothing changes.
>
> If I restart the bluetooth-meshd, then it all starts working again
> until I use Leave() again.
>
> The mesh-cfgclient does not seem to support Leave(), which is not
> too surprising since it only supports a single network.
>
> This leads me to believe that the Leave() function in the bluetoot-meshd
> is not very well tested. Please correct me if I'm wrong.
>
> I'm willing to poke around in the bluetooth-meshd code if I can get some
> pointers from the bluetooth-meshd experts. :-)
>
> Answers:
> * I am using the bluez git tip. Rebased today.
>
> [1] Occasionaly, bluetooth-meshd seems to get into a similar state "overnight".
>


--
Michael N. Moran (h) 770 704 9751
218 Wilshire Terrace (c) 678 521 5460
White, GA, USA 30184 http://mnmoran.org