Join GitHub today
Fix commissioning problem due to retransmissions #1207
We had a commissioning problem on a nrf52 chip.
nrf52 802.15.4 driver is running from IRQ context and it uses the rx queue. That's why it queues all retransmitted messages during commissioning procedure. Probably you didn't notice this problem using TI, because it's driver does not have rx queues and it drops DTLS retransmissions during commissioning procedure.
We didn't implement crypto hardware acceleration in nrf52 driver yet and some procedures take more than 8 seconds.
Because of that typical commissioning procedure looks like following diagram:
We found 2 problems:
This PR solves both problems. And it makes commissioning procedure robust.
@hubertmis, thanks for raising this issue!
The strongly preferred method of updating third-party code is by upstreaming changes directly to the third-party project itself. Another option is to put any modifications into third_party/mbedtls. For example, you could include a patch file that is applied as part of the make process or the modified file itself.
Current coverage is 73.04% (diff: 100%)
@@ master #1207 diff @@ ========================================== Files 128 127 -1 Lines 17702 17693 -9 Methods 2502 2498 -4 Messages 0 0 Branches 2141 2141 ========================================== - Hits 12986 12924 -62 - Misses 3909 3949 +40 - Partials 807 820 +13