1
\$\begingroup\$

According to Silicon Labs AN1137, Bluetooth Mesh employs two kinds of retransmissions:

  • at the network level
  • at each relay

Furthermore the document states:

The minimum delay between repetitions, called the retransmission interval = (Relay Retransmit Interval Steps + 1) * 10ms + 0-10ms random delay, is typically 15 ms per hop.

In other words it seems that the minimum resend interval is 10ms.

Bluetooth Mesh is based on undirected Bluetooth LE advertisements (Mesh Profile specification Section 3.3.1).

Now, according to the Bluetooth Specification 5.2, Section 4.4.2.2.1, the advertising interval (the time between the start of two consecutive advertising events) for undirected advertisements must be at least 20ms:

T_advEvent = advInterval + advDelay

The advertising interval (advInterval) shall be an integer multiple of 0.625 ms in the range of 20 ms to 10,485.759375 s. The advDelay is a pseudo-random value with a range of 0 ms to 10 ms generated by the Link Layer for each advertising event.

Does that mean that Bluetooth Mesh violates the usual rules of Bluetooth? And regarding the 10ms lower bound (wherever it may be specified), does that apply to network-level retransmissions as well or only to per-relay retransmissions?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

After reading various documents I would have to say no.

The key here is that the only valid "Relay Retransmit Interval Steps" are 1, 2 or 3.
So your first number is (((1-3) + 1) * 10) + rand(0-10) so your minimum is 20ms.

I would have found it just a little strange that a common "protocol" went against a standard it depended on.

\$\endgroup\$
3
  • \$\begingroup\$ But then in the linked AN1137 on page 10, they say that they used 10ms for both network and relay resend intervals. So you think it's that application note that violates the standard? \$\endgroup\$
    – Al Gebra
    Mar 24, 2020 at 9:21
  • \$\begingroup\$ From the look of it, they are doing latency testing. So for certain tests they may violate it, but it's not for production. During testing a lot things may happen, some of which if done in production, could lead to HUGE fines or worse. \$\endgroup\$
    – GB - AE7OO
    Mar 24, 2020 at 13:31
  • \$\begingroup\$ This seems indeed like the most plausible explanation. In fact I just tried sending messages as fast as possible with Nordic's Mesh SDK and it lets me dispatch 2048 messages in 51 seconds. That's an average interval of 24.9ms. \$\endgroup\$
    – Al Gebra
    Mar 26, 2020 at 12:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.