Setting up a region of concentrator

Viewed 17

Hello! I've installed chirpstack + concentratord + mqtt-forwarder on raspberry pi 4. Region parameter in concentratord.toml set as region="EU868", topic_prefix in mqtt-forwarder: topic_prefix="eu868". As I understand the frequencies should be pulled from the "region_eu868.toml" configs automatically. But I get such logs:

Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up fine timestamp, enable: false
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up concentrator channels
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring radio, radio: 0, enabled: false, center_freq: 0, type: SX1250
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring radio, radio: 1, enabled: false, center_freq: 0, type: SX1250
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up concentrator channels
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 0, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 1, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 2, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 3, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 4, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 5, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 6, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 7, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring Std LoRa channel, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring FSK channel, enabled: false, freq: 0, rf_chain: 0, if_freq: 0
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: 2025-11-19T11:52:50.660Z INFO  [chirpstack_concentratord_sx1302::concentrator] Starting the concentrator
Nov 19 14:52:50 raspberrypi chirpstack-concentratord-sx1302[3792]: Opening SPI communication interface

It works if I add this text to concentratord.toml:

# LoRa concentrator configuration.
[gateway.concentrator]
# Multi spreading-factor channels (LoRa).
multi_sf_channels=[
  868100000,
  868300000,
  868500000,
  867100000,
  867300000,
  867500000,
  867700000,
  867900000,
]

# LoRa std channel (single spreading-factor).
[gateway.concentrator.lora_std]
frequency=868300000
bandwidth=250000
spreading_factor=7

# FSK channel.
[gateway.concentrator.fsk]
frequency=868800000
bandwidth=125000
datarate=50000

How I can change region from EU868 to IN865 for example? I need to change topic prefix in mqtt-forwarder config, change region in concentratord config and add IN865 frequencies in the end of condentratord.toml? Could it be done with simpler way?

1 Answers

Configuration does not get pulled in automatically. E.g. you might have three configs:

  • concentratord.toml = Concentratord config
  • region_eu868.toml = Region specific config (e.g. Class-B beaconing)
  • channels_eu868.toml = Channel configuration

To load this set of config, you would repeat the -c flag, thus:

chirpstack-concentratord-sx1302 \
  -c /etc/chirpstack-concentratord/concentratord.toml \
  -c /etc/chirpstack-concentratord/region_eu868.toml \
  -c /etc/chirpstack-concentratord/channels_eu868.toml

Thus structure makes it especially easy when there could be multiple channel configs for a single region (e.g. US915, AU915) as you only have to change the channels_XXXXX.toml path. That is how it is implemented in the ChirpStack Gateway OS at least.