Skip to content

MeshStatusCallbacks.onUnknownPduReceived() when sending multiple messages to the same node. #506

Description

Describe the bug
The app stores mesh messages in a queue. A background worker takes a message from the queue and sends it into the mesh - one message every 250 milliseconds. When sending multiple messages to the same node, MeshStatusCallbacks.onUnknownPduReceived() gets called quite frequently and hence the response of some messages get lost.

Question now is, is it valid to send multiple messages to the same node in rapid succession? I.e. without awaiting the previous messages's response?

If the app sends only a single message to a given node and awaits its response, MeshStatusCallbacks.onUnknownPduReceived() never triggers, but then the responsiveness of the app is really bad.

The messages sent are ConfigRelayGet, ConfigProxyGet and two vendor specific messages that both cause a segmented acknowledged response (one message replying 30 bytes, the other 100 bytes of data). What's interesting is that logcat shows quite some V/LowerTransportLayer: Acknowledgement timer expiring, making me wonder if this could be a follow up problem of the SAR expiration timer triggering prematurely.

Expected behavior
Responses from the sent messages, which arrive at LowerTransportLayer, shouldn't get lost.

Platform details:

  • Happens rarely on mesh networks with a handful of nodes, but reliably on mesh networks with 35 nodes.
  • Device: Any Android Device
  • OS: Any Android Version >= 7.0
  • Library Version: 3.2.1
  • Mesh SDK: 5.0
  • Chipset: nrf52832
  • Softdevice S132 7.3.0
  • nRF5 SDK for Mesh 5.0.0

Edit:
The way it looks, this could be related to Segmentation feedback of acknowledged msg is mostly failing when sent to non-proxy device

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions