RAK11720 losing downlinks if deepsleep

Hello everyone,

I’m working with a custom PCB that uses the RAK11710 as the MCU, running RUI3 v4.2.2.
Firmware development has been going well overall, but I’ve run into an issue when enabling deep sleep using api.system.sleep.all() inside the loop() function.

As soon as I enable deep sleep, the node starts showing unexpected behavior related to lost downlinks.
Here’s what I’ve observed:

When the sleep line is active, the node sends uplinks successfully (the data arrives correctly to ChirpStack), but the LoRaWAN send callback returns 2, and the node does not receive the downlink reply.

If I keep the module awake (e.g., by sending AT commands periodically), the callback returns 0 and downlinks are received normally.

If I remove the sleep.all() call, everything works as expected again.

Additionally, I’m still experiencing the issue described here:
RAK11720 Analog signals - #11 by javier.nr
It might be related — currently I’m working around it by reading each analog input about 128 times to stabilize the values.

Any insights or suggestions would be greatly appreciate, I’ve tried also to do some kind of block deepsleep but no results so far;

if (!service_lora_isbusy())
    {
		delay(500);
		api.system.lpm.set(1);
                api.system.sleep.all();
    } 

Thanks in advance
Best regards

I can confirm the problem.

Opened a ticket for our R&D to check the problem.

@javier.nr
What LNS are you using?

Hello Bernd,

I’m using the latest chirpstack version V4.15.0, the device profile is configured as:

Region: EU868
MAC Version: 1.0.4
Regional parameters revision: A
The node is working on class A

The nodes also synchronizes their time with it’s corresponding callback and the api.lorawan.timereq.set(1); api call

I leave this section as is:

Regards

Question about LNS came from our R&D engineer. To make sure he uses the saem test environment.

Application layer is only for FUOTA.
These settings are not used during normal operation.