Setting up Multitech Conduit Gateway for TTN

might be worth adding this as a wiki entry

Andrew

1 Like

Here a mBed code to send a hello world to TTN.

https://developer.mbed.org/users/ropu/code/mDot_LoRa_example_TTN_connect/

this should replace the terminal commands.

Just got my Buenos Aires TTN Multitech gateway working!

http://thethingsnetwork.org/api/v0/nodes/0201BA01/

thanks for all the help

1 Like

Good walk through @robbo. Just one clarification. The EUI in the gateway config should be the EUI of the MTAC-LORA accessory card instead of the Conduit.

-Brandon

@brandon-multitech Thanks for the correction. I made the update. Is there a way to query the EUI from the command line? I must have used the wrong EUI but it still worked?

Just corrected my EUI to the mTAC

but having an issue with the packages.

when i move the mDot, lets say 10mts, i start loosing packeges and getting this log

##### 2015-11-19 22:33:34 GMT #####
### [UPSTREAM] ###

# RF packets received by concentrator: 0
# CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 0 (0 bytes)
# PUSH_DATA datagrams sent: 0 (0 bytes)
# PUSH_DATA acknowledged: 0.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 1 (0.00% acknowledged)
# PULL_RESP(onse) datagrams received: 0 (0 bytes)
# RF packets sent to concentrator: 0 (0 bytes)
# TX errors: 0
##### END #####
WARNING: [down] ignoring invalid packet

when i get back closer, i start getting this, and msg are bvack in the TTN API

lgw_receive:1428: FIFO content: Pkts: 1 7 1 Stat: 7 Size: 85
lgw_receive:1443: [2 17]
Note: LoRa packet

The lora-network-server script uses

mts-io-sysfs show lora/eui 2> /dev/null

to get the EUI.

1 Like

Hi all!

You guys helped out a ton, especially the post from robbo was very valuable. Unfortunately, itā€™s not working yet.

I donā€™t have an mDot yet, only the gateway. Iā€™m simulating messages with mosquitto_pub, and it seems like theyā€™re being received (I see ā€œNote: LoRa packetā€ in the packet forwarder log). However, nothing is forwarded to TTN, I get 0% ACK and (after sending some messages) a CRC_FAIL of 100%.

I used tcpdump to see that there is some UDP traffic going to TTN, once every 12 seconds or so, and a package coming back as well. So thatā€™s good I suppose!

A typical log entry:

##### 2015-11-20 19:49:24 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 0
# CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 0 (0 bytes)
# PUSH_DATA datagrams sent: 0 (0 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 #####
WAlgw_receive:1428: FIFO content: Pkts: 1 fe 2 Stat: 7 Size: 6d
lgw_receive:1443: [5 17]
Note: LoRa packet
RNING: [down] ignoring invalid packet

##### 2015-11-20 19:49:44 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 1
# CRC_OK: 0.00%, CRC_FAIL: 100.00%, NO_CRC: 0.00%
# RF packets forwarded: 0 (0 bytes)
# PUSH_DATA datagrams sent: 0 (0 bytes)
# PUSH_DATA acknowledged: 0.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 1 (0.00% acknowledged)
# PULL_RESP(onse) datagrams received: 0 (0 bytes)
# RF packets sent to concentrator: 0 (0 bytes)
# TX errors: 0
##### END #####
WARNING: [down] ignoring invalid packet
WARNING: [down] ignoring invalid packet

Anyone have any idea what it could be? I am not sure what to set for network and passphrase in lora-network-server.conf for example, does it matter? Or is it simply not possible to send and receive with a gateway, and should I wait for my mDot?

Does someone perhaps have an example global_conf.json for EU?

Thatā€™s just data being received that might or might not be a valid packet. Stat: 7 actually is a CRC error (valid packets have stat 5) so no valid data has been received.

Packets with CRC errors are (rightly) not forwarded.

For TTN you need to use the instructions to make it a forwarder (step 3 in robbos message). The MultiTech software does not allow multiple servers so you will not be able to use the network server on the device. (If you want send to multiple servers, check my message [70] to get the poly_packet_forwarder, the package contains a valid example config for use in the EU)

You got it, the gateway will not receive packets it is sending so you need a node to receive data.

A sample EU config for the MultiTech software:

{
"SX1301_conf" : 
{
	"chan_FSK" : 
	{
		"bandwidth" : 250000,
		"datarate" : 50000,
		"enable" : true,
		"freq_deviation" : 25000,
		"if" : 100000,
		"radio" : 0
	},
	"chan_Lora_std" : 
	{
		"bandwidth" : 250000,
		"enable" : true,
		"if" : -200000,
		"radio" : 0,
		"spread_factor" : 7
	},
	"chan_multiSF_0" : 
	{
		"enable" : true,
		"if" : -400000,
		"radio" : 0
	},
	"chan_multiSF_1" : 
	{
		"enable" : true,
		"if" : -200000,
		"radio" : 0
	},
	"chan_multiSF_2" : 
	{
		"enable" : true,
		"if" : 0,
		"radio" : 0
	},
	"chan_multiSF_3" : 
	{
		"enable" : true,
		"if" : -400000,
		"radio" : 1
	},
	"chan_multiSF_4" : 
	{
		"enable" : true,
		"if" : -200000,
		"radio" : 1
	},
	"chan_multiSF_5" : 
	{
		"enable" : true,
		"if" : 0,
		"radio" : 1
	},
	"chan_multiSF_6" : 
	{
		"enable" : true,
		"if" : 200000,
		"radio" : 1
	},
	"chan_multiSF_7" : 
	{
		"enable" : true,
		"if" : 400000,
		"radio" : 1
	},
	"radio_0" : 
	{
		"enable" : true,
		"freq" : 868500000
	},
	"radio_1" : 
	{
		"enable" : true,
		"freq" : 869500000
	}
},
"gateway_conf" : 
{
	"forward_crc_disabled" : true,
	"forward_crc_error" : false,
	"forward_crc_valid" : true,
	"gateway_ID" : "<YOUR ID HERE>",
	"keepalive_interval" : 12,
	"push_timeout_ms" : 120,
	"serv_port_down" : 1700,
	"serv_port_up" : 1700,
	"server_address" : "54.229.214.112",
	"stat_interval" : 20,
	"synch_word" : 52
}
}

A valid config is actually generated by lora-network-server in /var/run/lora (apart from the server address and ports) if you start it with the configuration for EU as described on the MultiTech Website (steps 4-7)

Appreciate the help. I suppose I need to wait for my node to arrive then. Everything else looks good, so looking forward to it!

Hi there, Iā€™m getting results appear in the Node bit of the API - http://thethingsnetwork.org/api/v0/nodes/02011E01/ but there is no entry for my gateway (008000000000A052) in the Gateway bit of the API.

Any idea what I am missing?

I have an mlinux Conduit with an MTAC-LORA-868 card.

Thanks, Mark

@mark: this sounds like the same problem I had with my DIY gateway: Setting up your first gateway

My gateway wasnā€™t sending geo-info, and because of that, it didnā€™t show up in the list.

Ah, yes using gps_pkt_fwd makes it appear in the Gateways , thanks :slight_smile:

For info gps_pkt_fwd has different params to basic_pkt_fwd - it doesnā€™t accept -l logfile, so you need to strip that bit out of /etc/init.d/lora-network-server where it uses the start-stop daemon to launch pkt_fwd.

Follow-up question - how do I configure or display the logitude and latitude? Mine are coming out blank. http://thethingsnetwork.org/api/v0/gateways/008000000000A052/

I just filled them in in the global_conf.json file

See this message for Configuring longitude and latitude

Fantastic - thanks both for your help - all working nicely now :slight_smile:

Just my 2cts
Would be good if someone knowledgeable could turn this thread into a manual like the one described for Kerlink in the Wiki tree?

Here you are: http://thethingsnetwork.org/wiki/Installing-your-Multitech-mLinux-Conduit

1 Like

@markstanley
Just looked at your write-up. Thank you for creating it, however two remarks (I do not want to start modifying your work right away):

  • Have you read my messages concerning the difference in (correctly) received packets between gps_pkt_fw and basic_pkt_fwd? If you want to be shown active on TTN I strongly suggest you try my build of poly_pkt_fwd for the MultiTech. Otherwise stay on basic_pkt_fwd if you want reliable packet reception and forwarding and do not need to be shown active.
    (poly_pkt_fwd is a ā€˜drop inā€™ replacement for basuc_pkt_fwd with regards to the command line arguments)
  • Not everyone with a MultiTech gateway will have mdots, as a result not everyone needs to sign-up @ mbed. Also people without an MultiTech gateway might use mdots, so may-be it would be better to split it into two pages?
1 Like

@kersing - sorry to say but I havenā€™t got poly_pkt_fwd working here. I installed this one: https://github.com/kersing/packet_forwarder/raw/master/multitech-bin/poly-packet-forwarder_2.1-r1_arm926ejste.ipk

Logfile:
*** Poly Packet Forwarder for Lora Gateway ***
Version: 2.1.0
*** Lora concentrator HAL library version info ***
Version: 3.1.0; Options: ftdi;


INFO: Little endian host
INFO: found global configuration file /var/config/lora/global_conf.json, parsing
INFO: /var/config/lora/global_conf.json does contain a JSON object named SX1301_
WARNING: Data type for lorawan_public seems wrong, please check
WARNING: Data type for clksrc seems wrong, please check
INFO: lorawan_public 0, clksrc 0
INFO: no configuration for tx gain lut 0
INFO: no configuration for tx gain lut 1
ā€¦
ā€¦
INFO: no configuration for tx gain lut 15
INFO: Configuring TX LUT with 0 indexes
WARNING: Failed to configure concentrator TX Gain LUT

@markstanley You need to use the example global_conf.json included as the newer versions of the software made more settings configurable. Alternatively the GitHub repo has example data for both 868 and 915 MHz setups.