High power usage with an OpenThread SED during the MLE phase

Hi.

Our company has a couple of different custom designed boards using the nRF52840 and powered by a battery. OpenThread is used for networking, and the devices are configured as a sleepy end device (SED). The power consumption is acceptable on average. However, there are periods of high power usage during the mesh link establishment (MLE) procedure when the child device becomes detached from the parent. During this phase, I can see a period of high current that is 3.4 seconds long for each MLE attach attempt. The timing corresponds directly with the MLE attach attempts in the log (I disable logging when doing power measurements in general though).

I have assumed that these high current periods are related to either radio usage or because the nRF52 is being prevented from entering sleep mode. The long periods of high current are problematic for our one design that runs off of a coin cell battery. Is it normal to see this behaviour for OpenThread during MLE?

I am currently using nRF Connect version 2.4.0. I would like to upgrade to version 2.7.0 but I see there is a similar problem related to MLE with an SED, specifically this issue: "KRKNWK-19036: High power consumption after parent loss" https://github.com/openthread/openthread/issues/10302

To reproduce my problem:

  1. Connect a tool such as the PPK2 to measure the current draw from the SED.
  2. Set up a Thread network with one router and the SED being profiled
  3. Power off the router and watch the current usage as the MLE attach attempts occur.

The attach attempts are spaced out such that the retry times keep doubling until the time between attempts is 20 minutes, starting at roughly 0.25 seconds between the first two attempts.

Here is the project configuration file with the OpenThread settings (and other configuration items).

82252.prj.conf

Related