Reception of null messages on FPort 0

Hello RAK support.

I’m having communication problems with a device that uses the RAK3172.
The gateway used is the RAK7289V2/RAK7289CV2 WisGate Edge Pro configured on Chirpstack.
The configured band is AU-915.
The device can join and send data.
Data is sent at DR = 2, TX-Power = 0, fPort = 97 and with confirmation request.
Sometimes the system date and time are requested.

Communication is working, but with flaws.
On the Chirpstack dashboard, I can monitor communication with the device.
I’m sending some screenshots and data I took from the Chirpstack Dashboard.

In figure 1 I show the communication event log. I highlighted two events:

EVENT_1: 2024-05-27 14:40:31 with FCnt = 7, details can be seen in the “Event FCnt=7.json” file;
EVENT_2: 2024-05-27 14:42:36 with FCnt = 8, details can be seen in the “Event FCnt=8.json” file’.

In figure 2 I show the communication frame log. I also highlighted the frames corresponding to the two events I mentioned:

FRAME_1: 2024-05-27 14:40:31 ConfirmedDataUp, details can be seen in the “Frame_ConfirmedDataUp FCnt=7.json” file;
FRAME_2: 2024-05-27 14:40:32 UnconfirmedDataDown “frame after FRAME_1”, details can be seen in the “Frame_UnconfirmedDataDown (1) FCnt=7.json” file;
FRAME_3: 2024-05-27 14:40:32 UnconfirmedDataDown “frame after FRAME_2”, details can be seen in the “Frame_UnconfirmedDataDown (2) FCnt=7.json” file;

FRAME_4: 2024-05-27 14:42:36 UnconfirmedDataUp, details can be seen in the “Frame_UnconfirmedDataUp FCnt=8.json” file;
FRAME_5: 2024-05-27 14:42:37 UnconfirmedDataDown “frame after FRAME_4”, details can be seen in the “Frame_UnconfirmedDataDown (1) FCnt=8.json” file;
FRAME_6: 2024-05-27 14:42:37 UnconfirmedDataDown “frame after FRAME_5”, details can be seen in the “Frame_UnconfirmedDataDown (2) FCnt=8.json” file.

On the Chirpstack Forum, I found a related post:

In this post they commented that the problem could be because the message size exceeds the payload allowed by the Data Rate used.
However, the size of my message is 9 bytes, which is smaller than the 11 bytes allowed by DR 2.
Continuing reading the post, I saw a comment that I thought was relevant and highlighted it in figure 3.

In this post they commented that the problem could be because the message size exceeds the payload allowed by the Data Rate used.
However, the size of my message is 9 bytes, which is smaller than the 11 bytes allowed by DR 2.
Continuing reading the post, I saw a comment that I thought was relevant and highlighted it in figure 3.

I would like to know if the message from my application can be ignored to the detriment of internal communication from the RAK3172?
I see that when reception occurs on FPort = 0, I am not notified, neither by the “api.lorawan.send” or any other “+EVT” event message.

Best regards.


Figure 1.


Figure 2.


Figure 3.

Chirstack JSON.tgz (1.9 KB)

I am guessing what is happening is that the allowed payload size is smaller than the 11 bytes. This can happen when the FOpts field is not empty:

I experienced similar problem on AS923-3.
You cannot control the FOpts field. It is set by the LoRaWAN stack.

Hi Bern, thank you very much for your response.

In your case with the AS923-3, what was the solution?
At this point I need some error indication to be returned so that I can do a retry.

My solution was to choose a DR that in any case allows my payload size + the additional FOpts fields at all times.

However, I am not depending on range, so that might not be a solution for you.
At this time, RUI3 does (unfortunately) not respond with a +EVT:TX_ERROR in this case as it (imho) should.

I will discuss your problem with our R&D team, but I do not see a short term solution.