Can I remove de-duplication mechanism for TDoA?

I want to TDoA geolocation with ChirpStack Network Server.

In “De-duplication logic” post( De-duplication logic ), we’ve notice de-duplication delay is associated with mechanism.

then, we’re add deduplication_delay=“0s” under [network_server] section in “chirpstack-network-server.toml”.
chirpstack-gateway-bridge is works fine. It receive every messages.

But on application layer, it receives only one message. I think de-duplication is still working.

How can I fix it?

Here’s screenshot from Application monitor

a device sends message in every 15 seconds, two gateways receive and transmit to network server.

look at https://www.chirpstack.io/geolocation-server/overview/
should be better to use it, maybe ?

Its supported backend is Semtech’s proprietary.
Our goal is building own geolocation server.

try to intercept the endnode messages at the MQTT/protobuf level

When setting this to 0s, the ChirpStack Network Server will start processing the uplink as soon as it receives the first message, this essentially disables de-duplication. In order to collect data from other receiving gateways, this must be > 0, e.g. 200ms (in which case the NS will wait 200ms to receive data from other gateways).

Our goal is building own geolocation server.

If you enable the json marshaler in the ChirpStack Application Server configuration (instead of the default json_v3) you will receive all the fine-timestamp information that the ChirpStack Gateway Bridge sends to the NS. This makes it possible to implement your geolocation solution using the information published by the AS. That might save you some work :slight_smile:

1 Like

Thanks to appreciate reply.
I’ve checked network server log, found weird one.


Chripstack Network Server receives two uplink frames, then collect it.
Is it sign of de-duplication mechanism is still working?

I’m double checking the configuration, nothing is wrong.
Here’s my network server configuration.

# Network-server settings.
[network_server]
# Network identifier (NetID, 3 bytes) encoded as HEX (e.g. 010203)
net_id="000000"
deduplication_delay="0s"
  # LoRaWAN regional band configuration.
  #
  # Note that you might want to consult the LoRaWAN Regional Parameters
  # specification for valid values that apply to your region.
  # See: https://www.lora-alliance.org/lorawan-for-developers
  [network_server.band]
  name="KR_920_923"

Network server version is 3.6.0, pre compiled binary.
Running on CentOS 7.

That is exactly what de-duplication should do :wink: It receives two uplinks (from different gateways) and then bundles these two as a single uplink (with the rxInfo elements of the two gateways).

That’s exactly what I need.
I’ve changed deduplication_delay to 200ms, it works!

I’m testing json marshaler now.

1 Like