2020-07-27 22:48:39

by Michael N. Moran

[permalink] [raw]
Subject: Mesh: Continuous Transaction Acknowledgment

I'm using a clone of bluez master on a Fedora 32 system.

I was using the Fedora 32 bluez-5.54 and bluez-mesh-5.54-1
packages, but there are some issues when using mesh-test
where opcodes are using the wrong byte-order that has been
fixed in master.

Otherwise, mesh was working OK and I was able to provision
and configure my device using mesh-cfgclient.

However, running the master branch code I am having a
problem where provisioning does not complete and in the end,
a Transaction Acknowledgment for my Random PDU is sent
endlessly. The bluetooth-meshd does not seem to be sending a
LE Set Advertise Enable to DISABLE advertising.

I assume that bluetooth-meshd has a timer that that fires
that should disable the advertisement after some period of
time (150ms), but the code is a bit opaque to my eyes.

I have a btmon trace the shows the problem if needed.

Also, the btmon trace shows that there are two LE Set
Advertise Enable (DISABLE) HCI commands in a row just before
the LE Set Advertising Data is issued for the offending
Transaction Acknowledgment.

Thoughts?

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