Multi Site Setup ( Problems with Downlinks )

1
Viewed 9

I do have a quiet large chirpstack deployment across mutliple buildings.
Some buildings have 2 LoRa Gateways installed for better coverage.

In total we have 9 Gateways installed at 8 buildings along a road.
Obviously there is an overlap in the coverage, so that sensors in each building are seen by more than 1 gateway on more than one location.

image.png

In General, uplinks are working fine, sensors send messages, they are picked up by several gateways and they route the message to the application server.
So far so good.

The problem I'm facing with this setup is confirmed messages. The sensors do send periodicly confirmed uplinks for which they expect ACK messages back from the gateway.

Since message is picked up by several gateways, chirpstack seems to select a
random gateway through which the ACK is being sent out.

How does it look in reality?

Sensor1 in building1 is sending an ConfirmedDataUp uplink.
This message is received by Gateway from Building 1,2,3 and even 4.

Gateway in building1 has received the message with the strongest signal and I would expect that the ACK message will be sent through the gateway in Building 1.

Instead, chirpstack decides to send out the ACK message through a gateway in Building 3, but that response is too week for the sensor, so it repeats itself again, and again. After 1 hour, it does not try any longer and restart.

Do I need to split up the sensors for each building into a seperate organization or seperate application? If I do so, do I still have coverage from the other buildings in case a gateway witihin a building goes down?

Many thanks for an advices here.

1 Answers

You can find the logic behind the downlink gateway selection here:
https://github.com/chirpstack/chirpstack/blob/master/chirpstack/src/downlink/helpers.rs#L57

In short:

  • ChirpStack sorts the gateways by uplink SNR
  • It will try to make a new list of gateways, which margin is more than the gateway_prefer_min_margin (default = 10)
    • From that list, it will select a random gateway
    • If the list is empty, it will take the top gateway from the sorted list

So unless there is a big difference between the uplink link-margin and the downlink link-margin, this should select a gateway that should be able to provide coverage to the device.

To debug this further, you could look at the reported SNR values of each gateway.