Configuration

ChirpStack Concentratord provides different binaries in order to target different hardware platforms.

ChirpStack Concentratord makes it possible to use multiple configuration files, by repeating the -c argument. For example:

  • concentratord.toml for generic configuration
  • region.toml for region specific settings (e.g. Class-B beacon configuration)
  • channels.toml to configure the channels

When using ChirpStack Concentratord within a region supporting multiple sub-bands, this means that only the channels.toml file needs to be updated when changing the sub-band, avoiding duplication.

chirpstack-concentratord-sx1301

The chirpstack-concentratord-sx1301 binary has the following command-line flags:

concentratord 4.4.6
Orne Brocaar <info@brocaar.com>
LoRa concentrator HAL daemon (v1)

USAGE:
    chirpstack-concentratord-sx1301 [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config <FILE>...    Path to configuration file

SUBCOMMANDS:
    configfile    Print the configuration template
    help          Prints this message or the help of the given subcommand(s)

Configuration example



# Concentratord configuration.
[concentratord]
  # Log level.
  #
  # Valid options are:
  #   * TRACE
  #   * DEBUG
  #   * INFO
  #   * WARN
  #   * ERROR
  #   * OFF
  log_level="INFO"

  # Log to syslog.
  #
  # When set to true, log messages are being written to syslog instead of stdout.
  log_to_syslog=false

  # Statistics interval.
  stats_interval="30s"

  # Disable CRC status filter.
  #
  # By default, the Concentratord will ignore received frames which do not have
  # a valid CRC. This option makes it possible to disable this filter such that
  # received frames without (valid) CRC can be analyzed.
  disable_crc_filter=false

  # Configuration for the (ZeroMQ based) API.
  [concentratord.api]
    # Event PUB socket bind.
    event_bind="ipc:///tmp/concentratord_event"

    # Command REP socket bind.
    command_bind="ipc:///tmp/concentratord_command"


# LoRa gateway configuration.
[gateway]

  # Antenna gain (dB).
  antenna_gain=0

  # Public LoRaWAN network.
  lorawan_public=true

  # Region.
  #
  # The region of the gateway. Options:
  #  EU868, US915, CN779, EU433, AU915, CN470, AS923, AS923_2, AS923_3, AS923_4,
  #  KR923, IN865, RU864
  #
  # Not not all the gateway models implement all regions.
  region="EU868"

  # Gateway vendor / model.
  #
  # This configures various vendor and model specific settings.
  model="rak_2245"

  # Gateway vendor / model flags.
  #
  # Flag can be used to configure additional vendor / model features. The
  # following flags can be used:
  #
  #   Global flags:
  #     GNSS - Enable GNSS / GPS support
  #
  #   Multitech:
  #     AP1  - Module is in AP1 slot (default)
  #     AP2  - Module is in AP2 slot
  model_flags=[]

  # Gateway ID.
  gateway_id="0000000000000000"

  # Time fallback.
  #
  # In case the gateway does not have a GNSS module or is unable to aquire a
  # GNSS fix, use the system-time for setting the 'time' field on RX.
  time_fallback_enabled=true


  # 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


  # Beacon configuration.
  #
  # This requires a gateway with GPS / GNSS.
  #
  # Please note that the beacon settings are region dependent. The correct
  # settings can be found in the LoRaWAN Regional Parameters specification.
  [gateway.beacon]

    # Compulsory RFU size.
    compulsory_rfu_size=2

    # Beacon frequency / frequencies (Hz).
    frequencies=[
      869525000,
    ]

    # Bandwidth (Hz).
    bandwidth=125000

    # Spreading factor.
    spreading_factor=9

    # TX power.
    tx_power=14


  # Static gateway location.
  [gateway.location]

    # When set to non-zero values, the static gateway location will be reported
    # when the gateway does not have a GNSS module or when no GNSS location fix
    # is available.
    latitude=0.0
    longitude=0.0
    altitude=0


chirpstack-concentratord-sx1302

The chirpstack-concentratord-sx1302 binary has the following command-line flags:

chirpstack-concentratord-sx1302 4.4.6
Orne Brocaar <info@brocaar.com>
LoRa concentrator HAL daemon for SX1302

USAGE:
    chirpstack-concentratord-sx1302 [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config <FILE>...    Path to configuration file

SUBCOMMANDS:
    configfile    Print the configuration template
    help          Prints this message or the help of the given subcommand(s)

Configuration example

Unlike the -sx1301 binary, there is no option for configuring the gateway_id. The unique gateway ID is embedded in the SX1302 and read by the Concentratord daemon.



# Concentratord configuration.
[concentratord]
  # Log level.
  #
  # Valid options are:
  #   * TRACE
  #   * DEBUG
  #   * INFO
  #   * WARN
  #   * ERROR
  #   * OFF
  log_level="INFO"

  # Log to syslog.
  #
  # When set to true, log messages are being written to syslog instead of stdout.
  log_to_syslog=false

  # Statistics interval.
  stats_interval="30s"

  # Disable CRC status filter.
  #
  # By default, the Concentratord will ignore received frames which do not have
  # a valid CRC. This option makes it possible to disable this filter such that
  # received frames without (valid) CRC can be analyzed.
  disable_crc_filter=false

  # Configuration for the (ZeroMQ based) API.
  [concentratord.api]
    # Event PUB socket bind.
    event_bind="ipc:///tmp/concentratord_event"

    # Command REP socket bind.
    command_bind="ipc:///tmp/concentratord_command"


# LoRa gateway configuration.
[gateway]

  # Antenna gain (dB).
  antenna_gain=0

  # Public LoRaWAN network.
  lorawan_public=true

  # Region.
  #
  # The region of the gateway. Options:
  #  EU868, US915, CN779, EU433, AU915, CN470, AS923, AS923_2, AS923_3, AS923_4,
  #  KR923, IN865, RU864
  #
  # Not not all the gateway models implement all regions.
  region="EU868"

  # Gateway vendor / model.
  #
  # This configures various vendor and model specific settings.
  model="rak_2287"

  # Gateway vendor / model flags.
  #
  # Flag can be used to configure additional vendor / model features. The
  # following flags can be used:
  #
  #   Global flags:
  #     GNSS - Enable GNSS / GPS support
  #     USB  - Use USB for concentrator communication (default is SPI)
  model_flags=[]

  # Time fallback.
  #
  # In case the gateway does not have a GNSS module or is unable to aquire a
  # GNSS fix, use the system-time for setting the 'time' field on RX.
  time_fallback_enabled=true

  # Gateway ID.
  #
  # Only set this if you would like to override the Gateway ID provided by the SX1302/3.
  gateway_id=""


  # 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


  # Static gateway location.
  [gateway.location]

    # When set to non-zero values, the static gateway location will be reported
    # when the gateway does not have a GNSS module or when no GNSS location fix
    # is available.
    latitude=0.0
    longitude=0.0
    altitude=0


chirpstack-concentratord-2g4

The chirpstack-concentratord-2g4 binary has the following command-line flags:

concentratord 4.4.6
Orne Brocaar <info@brocaar.com>
LoRa concentrator HAL daemon (2.4GHz)

USAGE:
    chirpstack-concentratord-2g4 [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config <FILE>...    Path to configuration file

SUBCOMMANDS:
    configfile    Print the configuration template
    help          Prints this message or the help of the given subcommand(s)

Configuration example

Unlike the -sx1301 binary, there is no option for configuring the gateway_id. The unique gateway ID is embedded in the concentrator and read by the Concentratord daemon.



# Concentratord configuration.
[concentratord]
  # Log level.
  #
  # Valid options are:
  #   * TRACE
  #   * DEBUG
  #   * INFO
  #   * WARN
  #   * ERROR
  #   * OFF
  log_level="INFO"

  # Log to syslog.
  #
  # When set to true, log messages are being written to syslog instead of stdout.
  log_to_syslog=false

  # Statistics interval.
  stats_interval="30s"

  # Disable CRC status filter.
  #
  # By default, the Concentratord will ignore received frames which do not have
  # a valid CRC. This option makes it possible to disable this filter such that
  # received frames without (valid) CRC can be analyzed.
  disable_crc_filter=false

  # Configuration for the (ZeroMQ based) API.
  [concentratord.api]
    # Event PUB socket bind.
    event_bind="ipc:///tmp/concentratord_event"

    # Command REP socket bind.
    command_bind="ipc:///tmp/concentratord_command"


# LoRa gateway configuration.
[gateway]
  # Antenna gain (dB).
  antenna_gain=0

  # Public LoRaWAN network.
  lorawan_public=true

  # Gateway vendor / model.
  #
  # This configures various vendor and model specific settings like the min / max
  # frequency and TX gain table.
  model="semtech_sx1280z3dsfgw1"

  # Time fallback.
  #
  # In case the gateway does not have a GNSS module or is unable to aquire a
  # GNSS fix, use the system-time for setting the 'time' field on RX.
  time_fallback_enabled=false


  # LoRa concentrator configuration.
  [gateway.concentrator]
    [[gateway.concentrator.channels]]
      frequency=2403000000
      bandwidth=812000
      spreading_factor=12
      rssi_offset=0.0
    [[gateway.concentrator.channels]]
      frequency=2479000000
      bandwidth=812000
      spreading_factor=12
      rssi_offset=0.0
    [[gateway.concentrator.channels]]
      frequency=2425000000
      bandwidth=812000
      spreading_factor=12
      rssi_offset=0.0


  # Static gateway location.
  [gateway.location]
    # If set to non-zero values, the static gateway location will be reported
    # when the gateway does not have a GNSS module or when no GNSS location fix
    # is available.
    latitude=0.0
    longitude=0.0
    altitude=0