Help on LORAWAN Downlink

Hi. I managed to use node & gateway along with RAK’s chirpstack server and I can able to receive the datas from node to server. Now I would like to send the datas from server to node hardware. I followed the below procedure for downlink.

  • I enabled CLASS C option in device profile. So that the data will be transmitted to node immediately.
  • Under Devices, Enqueue Downlink Payload, I set 11 as port, Left Confirmed Downlink option and give “aGk=” as base64 string which is equal to “hi”.
  • The payload is one the queue list and after some time, I reload the queue, the downlink list is not available. But I did not received any data on the node side. I have no idea about whether the data will be received on the gateway side. How we can confirm that atleast the data is received on the gateway side?.
  • Not sure my procedure are correct. Any kind of guidance on the downlink is appreciated.

TIA

1.First, you need to turn on the class c mode by using the at command "at + set_config = lora: class: 2" on the device.
2.Device needs to rejoin.
3.Data needs to be sent once the device joins successfully.
4.Log in to the gateway through ssh, you can use the following command to send downstream data to the device through mqtt.

mosquitto_pub -t 'application/1/device/0000000000000777/tx' -m '{"confirmed": true, "fPort": 11, "data": "aGk="}'

5.You need to change the appid and devEUI in the picture below.

Hi @ZhuQI Thanks for your prompt reply in detail.

  1. Where I should use this AT Command?. I am using Arduino board as node/enddevice.
  2. I am using ABP. Still this rejoin is required?.

TIA.

Hi. First let us know what Gateway and End device you are using. If you want to work in Class C you should do it in Node side as well. Not only in Server one.
@ZhuQI is assuming that you are using RAK RPi based Gateway, so please clarify.

@velev Sorry for my lack of info.

  • I am using RAK 2245 PI HAT Edition as gateway
  • I am using Chirpstack lora test server from RAK.
  • I am using IN865 Band
  • I am using Arduino board as end device with ttn-abp code from Arduino-LMIC library. By default, I was using Class A. But due to immediate data transfer, I would like to use Class C. I am also fine with Class A since I want to test the downlink first without much complicity at this stage.

TIA

Ok. So in general you have to move to Class C all. Set the Node in Class C, then change your profile in ChirpStack Cloud Server to Class C. And do not forget to turn off the frame counter.
But i strongly recommend to test all this with Class A , just keep in mind that the downlink will be received after the Application Server receive uplink from the Node.

@velev Thanks for your quick reply.
As per your recommendation, I would like to stick with Class A for better understanding of downlink as of now.

do not forget to turn off the frame counter

I found an option called Disable Frame Counter Validation under Devices Configuration tab. Are you talking about this and I want to enable this option?.

Yes, disable this until you figured out all.

Ok, Thanks for the confirmation.

  • I given a try with Class A & Disable Frame Counter validation.
  • Send a data for every 2mins on the Node (Arduino board) and trying to receive the datas from server. But I am not able to receive any datas on the gateway itself. No idea whether we should receive the log for downlink on the gateway side. Should I enable anything on the gateway side to receive the downlink frames from server to gateway ?
  • Attached the downlink frame image of the server side
  • Below given the gateway syslog.

Dec 19 15:45:17 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:45:17 rak-gateway : # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Dec 19 15:45:17 rak-gateway : # RF packets sent to concentrator: 0 (0 bytes)
Dec 19 15:45:17 rak-gateway : # TX errors: 0
Dec 19 15:45:17 rak-gateway : # TX rejected (collision packet): 0.00% (req:3324, rej:0)
Dec 19 15:45:17 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3324, rej:0)
Dec 19 15:45:17 rak-gateway : # TX rejected (too late): 0.03% (req:3324, rej:1)
Dec 19 15:45:17 rak-gateway : # TX rejected (too early): 0.27% (req:3324, rej:9)
Dec 19 15:45:17 rak-gateway : # BEACON queued: 0
Dec 19 15:45:17 rak-gateway : # BEACON sent so far: 0
Dec 19 15:45:17 rak-gateway : # BEACON rejected: 0
Dec 19 15:45:17 rak-gateway : ### [JIT] ###
Dec 19 15:45:17 rak-gateway : # SX1301 time (PPS): 3897795113
Dec 19 15:45:17 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:45:17 rak-gateway : ### [GPS] ###
Dec 19 15:45:17 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:45:17 rak-gateway : # GPS coordinates: latitude 12.95217, longitude 80.17129, altitude 38 m
Dec 19 15:45:17 rak-gateway : ##### END #####
Dec 19 15:45:17 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:15:02 GMT”,“lati”:12.95217,“long”:80.17129,“alti”:38,“rxnb”:0,“rxok”:0,“rxfw”:0,“ackr”:0.0,“dwnb”:0,“txnb”:0}}
Dec 19 15:45:17 rak-gateway : INFO: Received pkt from mote: 260118A6 (fcnt=250)
Dec 19 15:45:17 rak-gateway : JSON up: {“rxpk”:[{“tmst”:3899578628,“time”:“2019-12-19T10:15:02.783515Z”,“tmms”:1260785721783,“chan”:1,“rfch”:0,“freq”:865.402500,“stat”:1,“modu”:“LORA”,“datr”:“SF12BW125”,“codr”:“4/5”,“lsnr”:9.8,“rssi”:-40,“size”:46,“data”:“gKYYASaA+gAK2WqKC4a39EnBbSXJzLXlOP3BCzih32u7jcXLS3PnvpquiVAMzw==”}]}
Dec 19 15:45:17 rak-gateway : INFO: [down] PULL_ACK received in 392 ms
Dec 19 15:45:17 rak-gateway : INFO: Received pkt from mote: 260118A6 (fcnt=250)
Dec 19 15:45:17 rak-gateway : JSON up: {“rxpk”:[{“tmst”:3903924212,“time”:“2019-12-19T10:15:07.129098Z”,“tmms”:1260785726129,“chan”:1,“rfch”:0,“freq”:865.402500,“stat”:1,“modu”:“LORA”,“datr”:“SF12BW125”,“codr”:“4/5”,“lsnr”:9.5,“rssi”:-39,“size”:46,“data”:“gKYYASaA+gAK2WqKC4a39EnBbSXJzLXlOP3BCzih32u7jcXLS3PnvpquiVAMzw==”}]}
Dec 19 15:45:17 rak-gateway : INFO: [down] PULL_ACK received in 400 ms
Dec 19 15:45:17 rak-gateway : INFO: Received pkt from mote: 26041F46 (fcnt=24)
Dec 19 15:45:17 rak-gateway : JSON up: {“rxpk”:[{“tmst”:3912250499,“time”:“2019-12-19T10:15:15.455386Z”,“tmms”:1260785734455,“chan”:0,“rfch”:0,“freq”:865.062500,“stat”:1,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“lsnr”:9.5,“rssi”:-84,“size”:148,“data”:“QEYfBCaAGAABAtTytxWTeyut96MXHeH00szTmbYP6vJXnSUTId/G2RqkWbMTRTfFElWSmlRpHrvcAqiTirrcv8lrab/J3LAvG5fvsZzAwFwpNJ9XjvatS0vv8wDhpCFSdcltPuUXHMLax2FvD8FDhIfG3jqK4OhItzGRDLG/LtDt3wvyHJLGlrWO0/6tSO4xsYt27g==”}]}
Dec 19 15:45:17 rak-gateway : INFO: [down] PULL_RESP received - token[142:112] :slight_smile:
Dec 19 15:46:36 rak-gateway : JSON down: {“txpk”:{“imme”:false,“rfch”:0,“powe”:27,“ant”:0,“brd”:0,“tmst”:3913250499,“freq”:865.0625,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“ipol”:true,“size”:17,“data”:“YEYfBCaFD2UDAAcAAaTBBhY=”}}
Dec 19 15:46:36 rak-gateway : INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 399 ms
Dec 19 15:46:36 rak-gateway : ##### 2019-12-19 10:15:32 GMT #####
Dec 19 15:46:36 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:46:36 rak-gateway : # RF packets received by concentrator: 3
Dec 19 15:46:36 rak-gateway : # CRC_OK: 100.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:46:36 rak-gateway : # RF packets forwarded: 3 (240 bytes)
Dec 19 15:46:36 rak-gateway : # PUSH_DATA datagrams sent: 4 (1180 bytes)
Dec 19 15:46:36 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:46:36 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:46:36 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:46:36 rak-gateway : # PULL_RESP(onse) datagrams received: 1 (197 bytes)
Dec 19 15:46:36 rak-gateway : # RF packets sent to concentrator: 1 (17 bytes)
Dec 19 15:46:36 rak-gateway : # TX errors: 0
Dec 19 15:46:36 rak-gateway : # TX rejected (collision packet): 0.00% (req:3325, rej:0)
Dec 19 15:46:36 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3325, rej:0)
Dec 19 15:46:36 rak-gateway : # TX rejected (too late): 0.03% (req:3325, rej:1)
Dec 19 15:46:36 rak-gateway : # TX rejected (too early): 0.27% (req:3325, rej:9)
Dec 19 15:46:36 rak-gateway : # BEACON queued: 0
Dec 19 15:46:36 rak-gateway : # BEACON sent so far: 0
Dec 19 15:46:36 rak-gateway : # BEACON rejected: 0
Dec 19 15:46:36 rak-gateway : ### [JIT] ###
Dec 19 15:46:36 rak-gateway : # SX1301 time (PPS): 3927795114
Dec 19 15:46:36 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:46:36 rak-gateway : ### [GPS] ###
Dec 19 15:46:36 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:46:36 rak-gateway : # GPS coordinates: latitude 12.95222, longitude 80.17137, altitude 32 m
Dec 19 15:46:36 rak-gateway : ##### END #####
Dec 19 15:46:36 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:15:32 GMT”,“lati”:12.95222,“long”:80.17137,“alti”:32,“rxnb”:3,“rxok”:3,“rxfw”:3,“ackr”:0.0,“dwnb”:1,“txnb”:1}}
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 394 ms
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 392 ms
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 392 ms
Dec 19 15:46:36 rak-gateway : INFO: Disabling GPS mode for concentrator’s counter…
Dec 19 15:46:36 rak-gateway : INFO: host/sx1301 time offset=(1576746604s:160280µs) - drift=-476µs
Dec 19 15:46:36 rak-gateway : INFO: Enabling GPS mode for concentrator’s counter.
Dec 19 15:46:36 rak-gateway : ##### 2019-12-19 10:16:02 GMT #####
Dec 19 15:46:36 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:46:36 rak-gateway : # RF packets received by concentrator: 0
Dec 19 15:46:36 rak-gateway : # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:46:36 rak-gateway : # RF packets forwarded: 0 (0 bytes)
Dec 19 15:46:36 rak-gateway : # PUSH_DATA datagrams sent: 1 (153 bytes)
Dec 19 15:46:36 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:46:36 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:46:36 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:46:36 rak-gateway : # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Dec 19 15:46:36 rak-gateway : # RF packets sent to concentrator: 0 (0 bytes)
Dec 19 15:46:36 rak-gateway : # TX errors: 0
Dec 19 15:46:36 rak-gateway : # TX rejected (collision packet): 0.00% (req:3325, rej:0)
Dec 19 15:46:36 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3325, rej:0)
Dec 19 15:46:36 rak-gateway : # TX rejected (too late): 0.03% (req:3325, rej:1)
Dec 19 15:46:36 rak-gateway : # TX rejected (too early): 0.27% (req:3325, rej:9)
Dec 19 15:46:36 rak-gateway : # BEACON queued: 0
Dec 19 15:46:36 rak-gateway : # BEACON sent so far: 0
Dec 19 15:46:36 rak-gateway : # BEACON rejected: 0
Dec 19 15:46:36 rak-gateway : ### [JIT] ###
Dec 19 15:46:36 rak-gateway : # SX1301 time (PPS): 3957795116
Dec 19 15:46:36 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:46:36 rak-gateway : ### [GPS] ###
Dec 19 15:46:36 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:46:36 rak-gateway : # GPS coordinates: latitude 12.95221, longitude 80.17135, altitude 24 m
Dec 19 15:46:36 rak-gateway : ##### END #####
Dec 19 15:46:36 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:16:02 GMT”,“lati”:12.95221,“long”:80.17135,“alti”:24,“rxnb”:0,“rxok”:0,“rxfw”:0,“ackr”:0.0,“dwnb”:0,“txnb”:0}}
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 393 ms
Dec 19 15:46:36 rak-gateway : INFO: [down] PULL_ACK received in 393 ms
Dec 19 15:46:37 rak-gateway : INFO: [down] PULL_ACK received in 403 ms
Dec 19 15:46:37 rak-gateway : ##### 2019-12-19 10:16:32 GMT #####
Dec 19 15:46:37 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:46:37 rak-gateway : # RF packets received by concentrator: 0
Dec 19 15:46:37 rak-gateway : # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:46:37 rak-gateway : # RF packets forwarded: 0 (0 bytes)
Dec 19 15:46:37 rak-gateway : # PUSH_DATA datagrams sent: 1 (153 bytes)
Dec 19 15:46:37 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:46:37 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:46:37 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:46:37 rak-gateway : # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Dec 19 15:46:37 rak-gateway : # RF packets sent to concentrator: 0 (0 bytes)
Dec 19 15:46:37 rak-gateway : # TX errors: 0
Dec 19 15:46:37 rak-gateway : # TX rejected (collision packet): 0.00% (req:3325, rej:0)
Dec 19 15:46:37 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3325, rej:0)
Dec 19 15:46:37 rak-gateway : # TX rejected (too late): 0.03% (req:3325, rej:1)
Dec 19 15:46:37 rak-gateway : # TX rejected (too early): 0.27% (req:3325, rej:9)
Dec 19 15:46:37 rak-gateway : # BEACON queued: 0
Dec 19 15:46:37 rak-gateway : # BEACON sent so far: 0
Dec 19 15:46:37 rak-gateway : # BEACON rejected: 0
Dec 19 15:46:37 rak-gateway : ### [JIT] ###
Dec 19 15:46:37 rak-gateway : # SX1301 time (PPS): 3987795118
Dec 19 15:46:37 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:46:37 rak-gateway : ### [GPS] ###
Dec 19 15:46:37 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:46:37 rak-gateway : # GPS coordinates: latitude 12.95225, longitude 80.17144, altitude 10 m
Dec 19 15:46:37 rak-gateway : ##### END #####
Dec 19 15:46:37 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:16:32 GMT”,“lati”:12.95225,“long”:80.17144,“alti”:10,“rxnb”:0,“rxok”:0,“rxfw”:0,“ackr”:0.0,“dwnb”:0,“txnb”:0}}
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 399 ms
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 405 ms
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 393 ms
Dec 19 15:48:02 rak-gateway : INFO: Disabling GPS mode for concentrator’s counter…
Dec 19 15:48:02 rak-gateway : INFO: host/sx1301 time offset=(1576746604s:159806µs) - drift=-474µs
Dec 19 15:48:02 rak-gateway : INFO: Enabling GPS mode for concentrator’s counter.
Dec 19 15:48:02 rak-gateway : ##### 2019-12-19 10:17:02 GMT #####
Dec 19 15:48:02 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:48:02 rak-gateway : # RF packets received by concentrator: 0
Dec 19 15:48:02 rak-gateway : # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:48:02 rak-gateway : # RF packets forwarded: 0 (0 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA datagrams sent: 1 (153 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:48:02 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:48:02 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:48:02 rak-gateway : # PULL_RESP(onse) datagrams received: 0 (0 bytes)
Dec 19 15:48:02 rak-gateway : # RF packets sent to concentrator: 0 (0 bytes)
Dec 19 15:48:02 rak-gateway : # TX errors: 0
Dec 19 15:48:02 rak-gateway : # TX rejected (collision packet): 0.00% (req:3325, rej:0)
Dec 19 15:48:02 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3325, rej:0)
Dec 19 15:48:02 rak-gateway : # TX rejected (too late): 0.03% (req:3325, rej:1)
Dec 19 15:48:02 rak-gateway : # TX rejected (too early): 0.27% (req:3325, rej:9)
Dec 19 15:48:02 rak-gateway : # BEACON queued: 0
Dec 19 15:48:02 rak-gateway : # BEACON sent so far: 0
Dec 19 15:48:02 rak-gateway : # BEACON rejected: 0
Dec 19 15:48:02 rak-gateway : ### [JIT] ###
Dec 19 15:48:02 rak-gateway : # SX1301 time (PPS): 4017795120
Dec 19 15:48:02 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:48:02 rak-gateway : ### [GPS] ###
Dec 19 15:48:02 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:48:02 rak-gateway : # GPS coordinates: latitude 12.95225, longitude 80.17147, altitude 11 m
Dec 19 15:48:02 rak-gateway : ##### END #####
Dec 19 15:48:02 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:17:02 GMT”,“lati”:12.95225,“long”:80.17147,“alti”:11,“rxnb”:0,“rxok”:0,“rxfw”:0,“ackr”:0.0,“dwnb”:0,“txnb”:0}}
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 523 ms
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 393 ms
Dec 19 15:48:02 rak-gateway : INFO: Received pkt from mote: 26041F46 (fcnt=25)
Dec 19 15:48:02 rak-gateway : JSON up: {“rxpk”:[{“tmst”:4034819763,“time”:“2019-12-19T10:17:18.024642Z”,“tmms”:1260785857024,“chan”:1,“rfch”:0,“freq”:865.402500,“stat”:1,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“lsnr”:9.0,“rssi”:-82,“size”:148,“data”:“QEYfBCaAGQABz/edCUdP2JlxT4ahUUlhCrNOViC20ZvWnDgK+97rK5X2mp4ni7X+Rsan4am/dXd25ccR2ob7W3GUO1g0YLEV33aUgZrTz3nVcYUR5GZO7IqZxbn5k26FozQAuJkPpvdIY4yoo3Zt8B8ERtfcCr4EtICAxq7TVUbXXnkeakxqxZ/ewCSsIFxhXOPMoA==”}]}
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_RESP received - token[122:74] :slight_smile:
Dec 19 15:48:02 rak-gateway : JSON down: {“txpk”:{“imme”:false,“rfch”:0,“powe”:27,“ant”:0,“brd”:0,“tmst”:4035819763,“freq”:865.4025,“modu”:“LORA”,“datr”:“SF7BW125”,“codr”:“4/5”,“ipol”:true,“size”:17,“data”:“YEYfBCaFEGUDAAcAAV06Iz4=”}}
Dec 19 15:48:02 rak-gateway : INFO: tx_start_delay=1495 (1495.500000) - (1497, bw_delay=1.500000, notch_delay=0.000000)
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 395 ms
Dec 19 15:48:02 rak-gateway : ##### 2019-12-19 10:17:32 GMT #####
Dec 19 15:48:02 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:48:02 rak-gateway : # RF packets received by concentrator: 1
Dec 19 15:48:02 rak-gateway : # CRC_OK: 100.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:48:02 rak-gateway : # RF packets forwarded: 1 (148 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA datagrams sent: 2 (586 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:48:02 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:48:02 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)
Dec 19 15:48:02 rak-gateway : # PULL_RESP(onse) datagrams received: 1 (197 bytes)
Dec 19 15:48:02 rak-gateway : # RF packets sent to concentrator: 1 (17 bytes)
Dec 19 15:48:02 rak-gateway : # TX errors: 0
Dec 19 15:48:02 rak-gateway : # TX rejected (collision packet): 0.00% (req:3326, rej:0)
Dec 19 15:48:02 rak-gateway : # TX rejected (collision beacon): 0.00% (req:3326, rej:0)
Dec 19 15:48:02 rak-gateway : # TX rejected (too late): 0.03% (req:3326, rej:1)
Dec 19 15:48:02 rak-gateway : # TX rejected (too early): 0.27% (req:3326, rej:9)
Dec 19 15:48:02 rak-gateway : # BEACON queued: 0
Dec 19 15:48:02 rak-gateway : # BEACON sent so far: 0
Dec 19 15:48:02 rak-gateway : # BEACON rejected: 0
Dec 19 15:48:02 rak-gateway : ### [JIT] ###
Dec 19 15:48:02 rak-gateway : # SX1301 time (PPS): 4047795122
Dec 19 15:48:02 rak-gateway : src/jitqueue.c:448:jit_print_queue(): INFO: [jit] queue is empty
Dec 19 15:48:02 rak-gateway : ### [GPS] ###
Dec 19 15:48:02 rak-gateway : # Valid time reference (age: 0 sec)
Dec 19 15:48:02 rak-gateway : # GPS coordinates: latitude 12.95227, longitude 80.17150, altitude 6 m
Dec 19 15:48:02 rak-gateway : ##### END #####
Dec 19 15:48:02 rak-gateway : JSON up: {“stat”:{“time”:“2019-12-19 10:17:32 GMT”,“lati”:12.95227,“long”:80.17150,“alti”:6,“rxnb”:1,“rxok”:1,“rxfw”:1,“ackr”:0.0,“dwnb”:1,“txnb”:1}}
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 401 ms
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 394 ms
Dec 19 15:48:02 rak-gateway : INFO: [down] PULL_ACK received in 400 ms
Dec 19 15:48:02 rak-gateway : INFO: Disabling GPS mode for concentrator’s counter…
Dec 19 15:48:02 rak-gateway : INFO: host/sx1301 time offset=(1576746604s:159335µs) - drift=-471µs
Dec 19 15:48:02 rak-gateway : INFO: Enabling GPS mode for concentrator’s counter.
Dec 19 15:48:02 rak-gateway : ##### 2019-12-19 10:18:02 GMT #####
Dec 19 15:48:02 rak-gateway : ### [UPSTREAM] ###
Dec 19 15:48:02 rak-gateway : # RF packets received by concentrator: 0
Dec 19 15:48:02 rak-gateway : # CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
Dec 19 15:48:02 rak-gateway : # RF packets forwarded: 0 (0 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA datagrams sent: 1 (152 bytes)
Dec 19 15:48:02 rak-gateway : # PUSH_DATA acknowledged: 0.00%
Dec 19 15:48:02 rak-gateway : ### [DOWNSTREAM] ###
Dec 19 15:48:02 rak-gateway : # PULL_DATA sent: 3 (100.00% acknowledged)

TIA.

As you can see from your log, the gateway has "rxpk" and "txpk".

"rxpk" is the data packet sent by the node and "txpk" is the data packet sent by the server to the node.

But the txpk here is not sure what the data is, because it is encrypted, maybe it is the mac instruction and dr adjustment, or it may be the data you send from the server to the node.
So you need to follow the method to test:
1.Keep class A mode.
2.Monitor the log of lora_pkt_fwd in real time.
3.It can be seen from the log that the node is sending unconfirmed data, so you need to send several unconfirmed data through the node, and observe whether the gateway will receive txpk information after each unconfirmed transmission.
4.If each time the node sends unconfirmed data, the gateway does not receive txpk, then you send a data to the node on the server side.
5.Then the node sends an unconfirmed data. In theory, this time the gateway will receive a txpk data after rxpk. This data is the data you just sent to the node on the server.

Hi @ZhuQI Thanks for your inputs.
I followed the steps you suggested.

  1. Kept class A mode
  2. Monitoring log on the gateway
  3. Once I send unconfirmed data from server, I can see the gateway receives it by txpk information.
  4. Now node sends unconfirmed datas to server continuously.
  5. I can see the txpk after rxpk once initiate the downlink queue. However, I have no idea why I am getting continuous downlink frames (with null data) on the server.

Further inputs :

  • On the lorawan frames log contains fpending : true in my downlink. As per broccar’s input, it means, the data from server to gateway has been sent & confirmed. But waiting for acknowledgement from the node. If this is the case, I have some configuration issues on the Node side?.

TIA

Do you mean that you can see "txpk" on the gateway immediately after the server sends unconfirmed data?

Yes, I receive txpk immediately on the gateway after I enqueue the downlink data on the server.

I also noticed my Device profile settings page, the RX1 & RX2 are set by zero. Is it mandatory that we should set these values for downlink?. If so, kindly let me know the values I should set for IN865 band. PFA for my current settings page.

TIA

Try to disabled class c in device-profile.

Tried without Class C. But no improvements.

  • I am not seeing the server uses RX2 frequency for downlink. It uses the same uplink frequency. Is it normal for Class A?.
  • Also like to know if there is anyway we confirm that the gateway is forwarding the downlink datas to the node hardware?.
  • Do we have any configuration need to be done on gateway side for RX2?.
    TIA

For class A mode, the downlink sends by rx1 by default, but for Class-C it will use the RX2 settings.


You can send a confirmed downlink from the server to the node to confirm whether the node has received it.

@ZhuQI Ok, I understand.
No data received even I sent confirmed data from the server.
What is the purpose radio_1 on the gateway’s global.conf.json file?. Is it belongs to downlink communication purpose?.

TIA

Hi @ZhuQI
I found the tx_enable is false by default in my global_conf.json file. Once I enabled tx_enable by true, the gateway service is completely stopped. The log is as below,

[email protected]:~ $ sudo service ttn-gateway status
● ttn-gateway.service - The Things Network Gateway
Loaded: loaded (/lib/systemd/system/ttn-gateway.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2019-12-30 15:07:16 IST; 689ms ago
Process: 3129 ExecStart=/opt/ttn-gateway/packet_forwarder/lora_pkt_fwd/start.sh (code=exited, status=1/FAILURE)
Main PID: 3129 (code=exited, status=1/FAILURE)

Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: local_conf.json does contain a JSON object named gateway_conf, pars
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: gateway MAC address is configured to B827EBFFFE92CA25
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: packets received with a valid CRC will be forwarded
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: packets received with a CRC error will NOT be forwarded
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: packets received with no CRC will NOT be forwarded
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: INFO: [main] TTY port /dev/ttyAMA0 open for GPS synchronization
Dec 30 15:07:16 rak-gateway ttn-gateway[3129]: ERROR: [main] failed to start the concentrator
Dec 30 15:07:16 rak-gateway systemd[1]: ttn-gateway.service: Main process exited, code=exited, status=1/FAILURE
Dec 30 15:07:16 rak-gateway systemd[1]: ttn-gateway.service: Unit entered failed state.
Dec 30 15:07:16 rak-gateway systemd[1]: ttn-gateway.service: Failed with result ‘exit-code’.

Once I make disable tx_radio by false, the gateway starts working. Is it mandatory that we need to enable tx_enable for downlink transmission?.

TIA