cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WL on Class C mode stops processing Rx commands until next Tx

NMeno
Associate II

Hi, I'm using STM32WLE5CCUx MCUs with STM32Cube FW_WL_V1.3.0 firmware package. The nodes (~ 20 nodes) are working in LoRaWAN Class C mode and MAC version 1.0.4 (US915, no duty cycle restrictions)

The issue I'm experiencing is that from time to time in a very random way the nodes (not all at the same time, just one of them every time) stop processing Rx commands. When this happen I send Rx commands to the nodes but I don't see any log coming from MAC layer and in consequence they don't go over the OnRxData callback function. The behaviour is the same as not sending anything to the node. This apparent freezing keeps until the next periodic uplink (Tx) is executed, after what everything start working normally again (node processes Rx).

From the logs I saw that before this strange behaviour starts the node executed a Tx that was successful from the logs point of view but it never reached the Network Server, it looks like it never left the radio or in other words it never was actually sent.

I suspect that something gets stuck on the MAC layer that is fixed with the next Tx. Since the issue is random it is really hard to debug and reproduce.

Any help is very welcome!

Thanks!

 

4 REPLIES 4
NMeno
Associate II

I've also seen that there is a "MAC txTimeOut" previous to this event to happen.

I have seen multiple 'MAC txTimeOut" events in the logs but not all of them result in a freeze.

Why "MAC txTimeOut" can happen?

Thanks

I've got a similar issue where uplinks stop randomly. Did you figure out what the issue/solution was?

I am working with the lorawan dual core project as the base for my application.

I didn't figure out what the root cause is. The workaround that worked for me is sending uplinks with the confirm flag enabled, so in the freeze situation when no uplink is reaching the NS hence no confirmation reaching the node, the node will retry a couple of time until the failure is cleared.

Unfortunately, I have a large network and confirmed messages are just going to clog my network. But thanks for your help!