Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.7.1
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.7.1
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 (dBi).
  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=[]

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

  # 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

  # Device and pin configuration.
  #
  # Only set this configuration if you need to override the default
  # configuration provided by the model configuration and you know
  # the device and pin mapping. In any other case, leave this commented
  # out.
  # gnss_dev_path="/dev/ttyAMA0"
  # gnss_dev_path="gpsd://localhost:2947"
  # com_dev_path="/dev/spidev0.0"
  # i2c_dev_path="/dev/i2c-1"
  # sx1261_dev_path="/dev/spidev1.0"
  # sx1302_reset_chip="/dev/gpiochip0"
  # sx1302_reset_pin=17
  # sx1302_power_en_chip="/dev/gpiochip0"
  # sx1302_power_en_pin=18
  # sx1261_reset_chip="/dev/gpiochip0"
  # sx1261_reset_pin=19


  # 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

  # Listen Before Talk configuration.
  [gateway.lbt]

    # Enable LBT.
    enable=false

    # RSSI target.
    rssi_target=0

    # # Channels (can be repeated).
    # [[gateway.lbt.channels]]
    #   frequency=868100000
    #   bandwidth=125000
    #   scan_time_us=5000
    #   transmit_time_ms=4000


chirpstack-concentratord-2g4

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

concentratord 4.7.1
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