Quantcast
Channel: MultiTech Developer Resources » All Posts
Viewing all articles
Browse latest Browse all 7111

Cannot send ACK from GW to endpoint when working as packet forwarder

$
0
0

Hi,

In one of our projects we want to use Conduit as pocket forwarder for our custom LoRa server. Currently we are able to pass packet from end-device to server through GW, send ACK from server to GW. The problem is with ACK packet that needs to be sent from GW to end-point. We see on spectum analyzer that packet is not sent.

- Currently we operate only on one channel – 868.300 MHz (for upstream and downstream messages).
- Server is configured to not send PULL_ACKs to GW.

Packet forwarder configuration:

{
	"SX1301_conf": {
		"radio_0": {
			"enable": true,
			"freq": 867500000
		},
		"radio_1": {
			"enable": true,
			"freq": 868500000
		},
		"chan_multiSF_0": {
			"enable": true,
			"radio": 1,
			"if": -400000
		},
		"chan_multiSF_1": {
			"enable": true,
			"radio": 1,
			"if": -200000
		},
		"chan_multiSF_2": {
			"enable": true,
			"radio": 1,
			"if": 0
		},
		"chan_multiSF_3": {
			"enable": true,
			"radio": 0,
			"if": -400000
		},
		"chan_multiSF_4": {
			"enable": true,
			"radio": 0,
			"if": -200000
		},
		"chan_multiSF_5": {
			"enable": true,
			"radio": 0,
			"if": 0
		},
		"chan_multiSF_6": {
			"enable": true,
			"radio": 0,
			"if": 200000
		},
		"chan_multiSF_7": {
			"enable": true,
			"radio": 0,
			"if": 400000
		},
		"chan_Lora_std": {
			"enable": true,
			"radio": 1,
			"if": -200000,
			"bandwidth": 250000,
			"spread_factor": 7
		},
		"chan_FSK": {
			"enable": true,
			"radio": 1,
			"if": 300000,
			"datarate": 50000,
			"freq_deviation": 25000
		}
	},
	"gateway_conf": {
		"synch_word": 52,
		"forward_crc_disabled": false,
		"forward_crc_error": false,
		"forward_crc_valid": true,
		"gateway_ID" : "00:80:00:00:00:00:bf:a3",
		"keepalive_interval": 12,
		"push_timeout_ms": 120,
		"serv_port_down": 1682,
		"serv_port_up": 1680,
		"server_address": "our.network.server.com",
		"stat_interval": 20
	}
}

Example of sent packet to server and ACK received from server but not forwarded to endpoint. Data is captured using tcpdump on Conduit:

Send:

18:05:17.872973 IP 192.168.0.18.34330 > server.1680: UDP, length 308
E..P0.@.@.......4.>......<.u............{"rxpk":[{"tmst":1860875828,"time":"2017-03-20T17:05:17.872406Z","chan":1,"  rfch":1,"freq":868.300000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":8.5,"rssi":-33,"size":72,"d  ata":"gAEjAhSAAgABLMCae8tpgKwL+O9jeYTGJh2lfcxy+tiefr9FC+eHgLCSzeivfgpOjJ0ruIPUMxrmhDuyJ+uNE4JtsNPvhMag"}]}

ACK:

18:05:17.943083 IP server.37179 > 192.168.0.18.1682: UDP, length 190
E.....@.-.L.4.>......;..........{"txpk":{"tmst":1861876068,"chan":1,"rfch":0,"freq":868.300000,"imme":0,"ipol":true,"modu":"LORA","powe":14,"datr":"SF12BW125","codr":"4/5","size":18,"data":"YAEjAhSligEDUj8AAQFONH6Z"}}.

Logs for this packet:

##### 2017-03-20 18:05:21 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 1
# CRC_OK: 100.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 1 (72 bytes)
# PUSH_DATA datagrams sent: 1 (308 bytes)
# PUSH_DATA acknowledged: 0.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 2 (0.00% acknowledged)
# PULL_RESP(onse) datagrams received: 0 (0 bytes)
# RF packets sent to concentrator: 0 (0 bytes)
# TX errors: 0
##### END #####

Conduit FW version: 1.3.3

admin@mtcdt:~# cat /etc/mlinux-version
mLinux 3.2.0
Built from branch: (detachedfrom7745024)
Revision: 7745024bea525004d22c4a83761916b1315bedcc

admin@mtcdt:~# tail -100 /var/log/lora-pkt-fwd-1.log
Version: 1.4.1
*** Lora concentrator HAL library version info ***
Version: 1.7.0; Options: ftdi sx1301 sx1257 full mtac-lora private;
***

Did we miss some configuration that determines how downstream packet is forwarded to end-point?


Viewing all articles
Browse latest Browse all 7111

Trending Articles