After two long days of research, partially succeeding but ultimately failing to achieve my goal, I have to resort to making a post.
First, some information: I am using CS Gateway OS on a Raspberry Pi 3b with a Waveshare SX1302 868 HAT.
I am trying to create different channels than the ones in the LoRaWAN specification for an experiment for my master’s thesis. I am keeping the three standard channels (8681000000, 868300000, and 868500000) but discarding the others. Additionally, I want to add channels at 867187500, 867512500, 867837500, and 869850000. These channels should all support DR 0-7.
Now, why I am posting this in the concentratord topic:
I succeeded in creating these channels on my network server:
However, when sending messages from my end device, only those messages sent on the three standard channels are recognized. All others don’t get recognized.
Therefore, I suspect that in concentratord, I have to change the configuration so that the hardware listens on these channels. I tried to modify the concentratord.toml file, but when I SSH into my Pi and do this:
chirpstack-concentratord-sx1302 --config /etc/chirpstack-concentratord/sx1302/configs/conce
ntratord.toml
I get the following output:
thread ‘main’ panicked at ‘Error parsing config file: Error { inner: Error { inner: TomlError { message: “invalid length 7, expected an array of length 8”, original: Some(“\r\n\r\n# Concentratord configuration.\r\n[concentratord]\r\n # Log level.\r\n #\r\n # Valid options are:\r\n # * TRACE\r\n # * DEBUG\r\n # * INFO\r\n # * WARN\r\n # * ERROR\r\n # * OFF\r\n log_level="INFO"\r\n\r\n # Log to syslog.\r\n #\r\n # When set to true, log messages are being written to syslog instead of stdout.\r\n log_to_syslog=false\r\n\r\n # Statistics interval.\r\n stats_interval="1s"\r\n\r\n # Disable CRC status filter.\r\n #\r\n # By default, the Concentratord will ignore received frames which do not have\r\n # a valid CRC. This option makes it possible to disable this filter such that\r\n # received frames without (valid) CRC can be analyzed.\r\n disable_crc_filter=false\r\n\r\n # Configuration for the (ZeroMQ based) API.\r\n [concentratord.api]\r\n # Event PUB socket bind.\r\n event_bind="ipc:///tmp/concentratord_event"\r\n\r\n # Command REP socket bind.\r\n command_bind="ipc:///tmp/concentratord_command"\r\n\r\n\r\n# LoRa gateway configuration.\r\n[gateway]\r\n\r\n # Antenna gain (dB).\r\n antenna_gain=0\r\n\r\n # Public LoRaWAN network.\r\n lorawan_public=true\r\n\r\n # Region.\r\n #\r\n # The region of the gateway. Options:\r\n # EU868, US915, CN779, EU433, AU915, CN470, AS923, AS923_2, AS923_3, AS923_4,\r\n # KR923, IN865, RU864\r\n #\r\n # Not not all the gateway models implement all regions.\r\n region="EU868"\r\n\r\n # Gateway vendor / model.\r\n #\r\n # This configures various vendor and model specific settings.\r\n model="waveshare_sx1302_lorawan_gateway_hat"\r\n\r\n # Gateway vendor / model flags.\r\n #\r\n # Flag can be used to configure additional vendor / model features. The\r\n # following flags can be used:\r\n #\r\n # Global flags:\r\n # GNSS - Enable GNSS / GPS support\r\n # USB - Use USB for concentrator communication (default is SPI)\r\n model_flags=\r\n\r\n # Time fallback.\r\n #\r\n # In case the gateway does not have a GNSS module or is unable to aquire a\r\n # GNSS fix, use the system-time for setting the ‘time’ field on RX.\r\n time_fallback_enabled=true\r\n\r\n\r\n # LoRa concentrator configuration.\r\n [gateway.concentrator]\r\n\r\n # Multi spreading-factor channels (LoRa).\r\n multi_sf_channels=[\r\n 868100000,\r\n 868300000,\r\n 868500000,\r\n # 867100000,\r\n # 867300000,\r\n # 867500000,\r\n # 867700000,\r\n # 867900000,\r\n 867187500,\r\n 867512500,\r\n 867837500,\r\n 869850000,\r\n ]\r\n\r\n # LoRa std channel (single spreading-factor).\r\n [gateway.concentrator.lora_std]\r\n frequency=868300000\r\n bandwidth=250000\r\n spreading_factor=7\r\n\r\n # FSK channel.\r\n [gateway.concentrator.fsk]\r\n frequency=868862500\r\n bandwidth=125000\r\n datarate=50000\r\n\r\n\r\n\r\n # Static gateway location.\r\n [gateway.location]\r\n\r\n # When set to non-zero values, the static gateway location will be reported\r\n # when the gateway does not have a GNSS module or when no GNSS location fix\r\n # is available.\r\n latitude=0.0\r\n longitude=0.0\r\n altitude=0\r\n\r\n\r\n”), keys: [“gateway”, “concentrator”, “multi_sf_channels”], span: Some(2107…2310) } } }’, chirpstack-concentratord-sx1302/src/config/mod.rs:203:62
note: run withRUST_BACKTRACE=1
environment variable to display a backtrace
I think I am on the wrong track but after these two days of trial and error (and learning a lot!) I need help. Maybe I have written/edited the wrong .toml-file but I don’t know where to look next.
Thanks for your help in advance!
Here is my config file for concentratord:
(pictures because the text has a strange format in this post)