End node doesn't see lora-app-server's join response


#1

Hi!
I see that lora-app-server sends join responce on join request:

INFO[1579] js: request received                          message_type=JoinReq receiver_id=70b3d57ed000f706 sender_id=000000 transaction_id=3006702747
INFO[1579] device-keys updated                           dev_eui=343934354c377516
INFO[1579] js: sending response                          message_type=JoinAns receiver_id=000000 result_code=Success sender_id=70b3d57ed000f706 transaction_id=3006702747

I see that gateway retransmit this to device:

JSON up: {"rxpk":[{"tmst":10133212,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-15.5,"rssi":-95,"size":23,"data":"AAb3ANB+1bNwFnU3TDU0OTRsC9ryrHQ="}]}
INFO: [up] PUSH_ACK received in 40 ms
INFO: [down] PULL_RESP received  - token[74:92] :)

JSON down: {"txpk":{"imme":false,"tmst":15133212,"freq":868.5,"rfch":0,"powe":14,"modu":"LORA","datr":"SF12BW125","codr":"4/5","ipol":true,"size":17,"data":"ICBc8ixkhjjyanPEMhKExiQ=","brd":0,"ant":0}}
INFO: [down] PULL_ACK received in 38 ms
INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
INFO: Enabling TX notch filter
59.20.0.0.e6.e4.45.9.0.9c.11.18.0.8.0.0.20.20.5c.f2.2c.64.86.38.f2.6a.73.c4.32.12.84.c6.24.end
INFO: [down] PULL_ACK received in 38 ms

But end node doesn’t recognize join responce: MlConNO

But when I use same end node with exactly same gateway and exactly same global_conf.json I see gateway logs which end node able to recognize as join responce:

JSON up: {"rxpk":[{"tmst":5547948,"chan":0,"rfch":1,"freq":868.100000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-13.0,"rssi":-93,"size":23,"data":"AAb3ANB+1bNwFnU3TDU0OTQREfXBwvA="}]}
INFO: [up] PUSH_ACK received in 63 ms
INFO: [down] PULL_RESP received  - token[203:148] :)

JSON down: {"txpk":{"imme":false,"tmst":11547948,"freq":869.525,"rfch":0,"powe":27,"modu":"LORA","datr":"SF12BW125","codr":"4/5","ipol":true,"size":33,"ncrc":true,"data":"IFsuiuIddWbNo2QSMAlz9vsWIXvaNcu+dbXoQ73DLVxt"}}
INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
Info: packet will be sent without CRC
INFO: Enabling TX notch filter
59.61.99.0.b0.2f.55.f.0.1c.21.18.0.8.0.0.20.5b.2e.8a.e2.1d.75.66.cd.a3.64.12.30.9.73.f6.fb.16.21.7b.da.35.cb.be.75.b5.e8.43.bd.c3.2d.5c.6d.end
INFO: [down] PULL_ACK received in 62 ms
lgw_receive:1155: FIFO content: 1 37 0 5 1d
lgw_receive:1174: [0 17]
Note: LoRa packet

Tried to change TX frequency on network-server settings in lora-app-server - no luck.
Can someone suggest me what should I change in lora-app-server or loraserver configs to complete JOIN request-responce mission succefully please?)


#2

Here is JoinRequest:

* * * * gatewayId:"aa555a0000000005"
      * time:null
      * timeSinceGpsEpoch:null
      * timestamp:846050228
      * rssi:-97
      * loraSnr:-1.8
      * channel:1
      * rfChain:1
      * board:0
      * antenna:0
      * ▶

location:{} 5 keys
        * latitude:0
        * longitude:0
        * altitude:0
        * source:"UNKNOWN"
        * accuracy:0
      * fineTimestampType:"NONE"
  * ▶

txInfo:{} 3 keys
    * frequency:868300000
    * modulation:"LORA"
    * ▶

loRaModulationInfo:{} 4 keys
      * bandwidth:125
      * spreadingFactor:12
      * codeRate:"4/5"
      * polarizationInversion:false

* * ▶

phyPayload:{} 3 keys
    * ▶

mhdr:{} 2 keys
      * mType:"JoinRequest"
      * major:"LoRaWANR1"
    * ▶

macPayload:{} 3 keys
      * joinEUI:"70b3d57ed000f706"
      * devEUI:"343934354d377316"
      * devNonce:47988
    * mic:"31d0c219"

Here is JoinAccept:

* * * gatewayId:"aa555a0000000005"
    * immediately:false
    * timeSinceGpsEpoch:null
    * timestamp:851050228
    * frequency:868300000
    * power:14
    * modulation:"LORA"
    * ▶

loraModulationInfo:{} 4 keys
      * bandwidth:125
      * spreadingFactor:12
      * codeRate:"4/5"
      * polarizationInversion:true
    * board:0
    * antenna:0

* * ▶

phyPayload:{} 3 keys
    * ▶

mhdr:{} 2 keys
      * mType:"JoinAccept"
      * major:"LoRaWANR1"
    * ▶

macPayload:{} 1 key
      * bytes:"a6Qtb74Arlhfpugb"
    * mic:"5c3f8cc7"

End node doesn’t see responce.


#3

Here is what I see in a case of TTN:

JoinRequest:

{
  "gw_id": "eui-aa555a0000000005",
  "payload": "AAb3ANB+1bNwFnM3TTU0OTQt9RrMSPA=",
  "dev_eui": "343934354D377316",
  "lora": {
    "spreading_factor": 12,
    "bandwidth": 125,
    "air_time": 1482752000
  },
  "coding_rate": "4/5",
  "timestamp": "2018-12-15T11:03:21.251Z",
  "rssi": -99,
  "snr": -1.2,
  "app_eui": "70B3D57ED000F706",
  "frequency": 868300000
}

Join responce:

{
  "gw_id": "eui-aa555a0000000005",
  "payload": "IDFKD1Ew/tSnqS4A1HLEsR1Ek087dzDQ1z3UbqS21f/Y",
  "lora": {
    "spreading_factor": 12,
    "bandwidth": 125,
    "air_time": 1810432000
  },
  "coding_rate": "4/5",
  "timestamp": "2018-12-15T11:03:26.251Z",
  "frequency": 869525000
}

JoinAccept received by node successfully.
I noticed that loraserver returns JoinResponce immediately without 5sec delay while TTN truly waits 5 sec.
Who is responsible for waiting required delay between joinRequest and JoinResponce?
I use packet_forwarder version 4.0.1 and Loraserver downloaded from github just few weeks ago.
Help me solve this (probably) obvious issue?


#4

You can change the rx delay at loraserver’s conf. See https://www.loraserver.io/loraserver/install/config/.