LoRa Gateway Bridge to TTN


I’ve updated the repo with the commit below. I hope this helps you:


Hi, nice. got it compiled an the multiplexer recieves packets. But it won’t connect to my loraserver and/ or TTN.
My config.
Packetforwarder(ttn etc) -> port 1800 to multiplexer -> Multiplexer Host ttn.x.y.:1700 is that correct?
Thx daniel


Hello Daniel,

Post your config.

This is how I have the port multiplexer configured and it works fine:

Packet forwarder -> multiplexer -> backends(this could be lora-gateway-bridge, TTN, Loriot or all the above). Remember it’s multiplexing UDP so everything that understands the packet forwarder protocol should go after or out(backend section) of the multiplexer.

I run the packet multiplexer on a separate box.

Configure the packet forwarder to send to the ip address that the multiplexer is running on at port 1800 for instance.

#To lora-gateway-bridge which then sends to Loraserver
 gateway_ids = [

#This sends the same traffic from the forwarder to TTN
gateway_ids = [

Understand that this might cause scheduling conflict issues with down links if you’re using different network servers like TTN plus Loriot plus Loraserver but it’ll send all of the packets to multiple locations. I have tested it with 5 backends and it works as it should.



thx for this answer. My config is like yours, but the Gateways in TTN and loraserver don’t show status connected. Is that correct?
netstat -na shows Port 1700/ 1800 connections but the status of the gateways woun’t become conected.
Debug =5 shows “packet recieved from gateway, and sending packet to gateway” in lora-multiplexer-console.
TTN-Service ist ok, shows packet transmitted, with CRC OK 100%. TTN PAcket forwarder as desicribed " localserver, port 1800" .

Any Idea?

thx Daniel


Hi, the multiplexer doesn’t forward any data to the loraserver. Gateway direct (without multiplexer) to loraserver works fine.In the console there is sending, recieving but with a tcpdump on the loraserver i cannot see any packets. I switched to a standalone multiplexer, so i can say it’s not a firewall problem.


What does your multiplexer config look like?

Once you start the multiplexer you’ll see traffic come in on the console. If you don’t see traffic then your packet forwarder is not sending to the multiplexer.



gateway_ids = [

Console shows traffic, packet send to gateway, packet recieved from gateway.


I’ve updated the repository README + made pre-compile Debian & Ubuntu packages: https://github.com/brocaar/lora-packet-multiplexer.


Hi, I’m new to the forums. Currently I maintain a LoRaServer for our appliactions. Will this be needed for future implementations?


Hi, it is possible to install lora-packet-multiplexer on LoRa Gateway OS? I want to connect my gateway to TTN.


I think I need some help.
I have a LoRa Light Gateway from IMST. The Gateway is based on a Raspberry PI 2, the IMST IC880A LoRaWanConcentrator and Debian Jessi. The connection to TTN works smoothly. Now I want to run the LoRa server in parallel (runs in a Docker container on a separate machine). In order to operate both servers in parallel, the LoRa-Packet-Multiplexer should be installed on the LoRa-Gateway. I followed the instructions of brocaar. I installed ‘apt-transport-https’, ‘dirmngr’ and ‘lora-packet-multiplexer’ on the Light-Gateway (Pi2/Jessi).
Unfortunately, the service can not start. The error message of the service is:
Jun 19 19:02:55 ttn-gateway systemd [1]: lora-packet-multiplexer.service holdoff time over, scheduling restart.
Jun 19 19:02:55 ttn-gateway systemd [1]: Stopping LoRa Packet Multiplexer …
Jun 19 19:02:55 ttn-gateway systemd [1]: Starting LoRa Packet Multiplexer …
Jun 19 19:02:55 ttn-gateway systemd [1]: lora-packet-multiplexer.service start request repeated too fast, refusing to start.
Jun 19 19:02:55 ttn-gateway systemd [1]: Failed to start LoRa Packet Multiplexer.
Jun 19 19:02:55 ttn-gateway systemd [1]: Unit lora-packet-multiplexer.service entered failed state.
The lora-packet-multiplexer.toml has the following content:
log_level = 4
bind = “”
To lora-gateway-bridge (loraserver)
host = “”
gateway_ids = [“mac-address of the docker-container”]
host = “router.eu.thethings.network:1700”
gateway_ids = [“eu of the TTN Gateway”]

What does not fit together here? Where could the mistake be?