Delay before receive first uplink after OTAA


#1

Hello,

I’m using loraserver from a couple of week and I notified something that I do not know explained.
After join session accepted (join request - join accept) I have to wait at least 5 min before seeing the first uplink on the loraserver.

I must precise that after the second uplink the duty cycle is respected for example I can send every 2 min or less my payload.

From the device side I’m sure that it sends a frame according to the duty cycle setting.

Then I 'm almost sure that the issue comes from loraserver because if I’m using the same device on Objenious lorawan network or Senet lorawan network for example I don’t wait 5 minute after join session before seeing the uplink of my device.

Has anyone ever encountered this problem? Can we solve it ?


#2

Could you provide a bit more context? E.g.

  • Device LoRaWAN version (e.g. 1.0, 1.1)
  • Which band is used?

#3

Sure sorry,

Device LoRaWAN version 1.0.2
Band 868Mhz
Device class A


#4

In that case it is not related to having 72 channels enabled and a gateway listening only on 8 channels (e.g. US band). The only thing that that I can think of that could be different between the networks is the content of the join-accept (which might trigger a different behavior of your device):

image

image

Maybe you can find out what the content of the DLSettings, RxDelay and CFList is of the other networks and update your loraserver.toml configuration to match the same values?

(I’m assuming here that your device is sending data only 5 minutes after the join-accept, this is something you need to confirm too)


#5

After the join-accept my device sends the data every ten seconds (only for test) a led blink each time that the data are sent.

The code embedded in my device act as state machine, it use timer to trigger the sending of data.

Hereinafter the snapshot of my live lorawan frames:

For this case the waiting time has been split in two, 2m30 before the first uplink and then almost 3min before to execute the code correctly.

Ok I can try but I’m not sure to recover anything these networks belong to big firm which not open source :wink:

Thank you


#6

Could you confirm this:

You say that there is delay between the join-accept and first uplink frame sent by the device. Is this the first uplink frame sent by the device or the first uplink frame received by LoRa Server? It is not clear to me if the device is sending data which is not processed by LoRa Server, or if your device does nothing for a couple of minutes (which I assume).

E.g. what is the frame-counter of the 9:31:43 PM UnconfirmedDataUp frame?

Ok I can try but I’m not sure to recover anything these networks belong to big firm which not open source

The join-accept is sent to your device, so you should have access to these properties :wink:

For this case the waiting time has been split in two, 2m30 before the first uplink and then almost 3min before to execute the code correctly.

I’m not sure what almost 3min before to execute the code correctly means. I don’t think LoRa Server has any control over how your device executes its code.


Debugging Device Time req
#7

Hello, thank you for the reply.

In my opinion it’s the first uplink frame received by lora server, I have to compare and expose to you the frames received by another loraserver (objenious for example) with the same device.

I’m in my office, I’ll be tonight or tomorrow.

Ok I have to examine the join-accept frames :slight_smile:

I mean normally after the join-accept the frames are sent every 10 sec, here I waited 2min30 then 3min before to reach the desired sending frequency.

I have to compare with other network and I will come back to you.

Thank you


#8

Good evening,

you can find here a snapshot of objenious network frame:

Objenious network:

Cayenne end-point:

I use the same kind of device (B-L072Z-LRWAN) this is not exactly the same purpose, in this case sending the frames is triggered by an event not by timer (event = PIR sensor detection) anyway as you can notified,
the first uplink appears only 15sec after the join the behavior is different from the loraserver with the same use-case I have to wait 5 min before to see the first uplink ( this is the title of this post).

From objenious network I can only see APPNONCE, DEVNONCE, DEVADDR and NETID, no trace of DLSettings , RxDelay and CFList

Last point regarding your question:

fcnt = 0

Thank you for your help.


#9

Hello,

finally I found the guilty party :wink: it’s located in i-cube-lrwan that is to say in my device software.

Indeed there is function in RegionCommon.c file which call RegionCommonUpdateBandTimeOff which set a delay after joined network.

To delete the delay after a join at the output of this function you must assign 0 to variables nextTxDelay and bands[i].TimeOff

image

I don’t know what is the goal of this delay and I don’t know why the delay is different according the network operator ???

Thank you.