Gateway hardware issue: Maxiiot GL5712 module + Nebra Helium Hotspot hat

Hi folks,

Recently acquired some gateway hardware and trying to get ChirpStack running, on one of the kits I am having a bit of trouble getting concentratord to talk to the radio:

Setup: Raspberry Pi 4 with:

Using pi_supply_lora_gateway_hat as the model in the config file, as the reset pin and the RAK module specified seems to be close enough to the carrier+module I have here, this is what I see when I run concentratord:

$ ./chirpstack-concentratord-sx1301 -c gl5712.toml
2023-09-08T13:11:06.806Z INFO  [libconcentratord::reset] Configuring reset pin, dev: /dev/gpiochip0, pin: 22
2023-09-08T13:11:06.807Z INFO  [chirpstack_concentratord_sx1301::cmd::root] Starting Concentratord SX1301 (version: 4.2.3, docs: https://www.chirpstack.io/docs/chirpstack-concentratord/)
2023-09-08T13:11:06.807Z INFO  [libconcentratord::reset] Triggering sx1302 reset
2023-09-08T13:11:07.007Z INFO  [chirpstack_concentratord_sx1301::concentrator] Setting spi device path, spidev_path: /dev/spidev0.0
2023-09-08T13:11:07.008Z INFO  [chirpstack_concentratord_sx1301::concentrator] Setting board configuration, lorawan_public: true, clock_source: 1
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: -6, pa_gain: 0, mix_gain: 10, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: -3, pa_gain: 0, mix_gain: 14, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 0, pa_gain: 1, mix_gain: 8, dac_gain: 3, dig_gain: 3
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 3, pa_gain: 2, mix_gain: 9, dac_gain: 3, dig_gain: 3
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 6, pa_gain: 1, mix_gain: 9, dac_gain: 3, dig_gain: 1
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 10, pa_gain: 2, mix_gain: 9, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 11, pa_gain: 2, mix_gain: 10, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 12, pa_gain: 2, mix_gain: 11, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 13, pa_gain: 2, mix_gain: 12, dac_gain: 3, dig_gain: 1
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 14, pa_gain: 2, mix_gain: 12, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 16, pa_gain: 3, mix_gain: 8, dac_gain: 3, dig_gain: 1
2023-09-08T13:11:07.008Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 20, pa_gain: 3, mix_gain: 10, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.009Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 23, pa_gain: 3, mix_gain: 12, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.009Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 25, pa_gain: 3, mix_gain: 14, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.009Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 26, pa_gain: 3, mix_gain: 14, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.009Z DEBUG [chirpstack_concentratord_sx1301::concentrator] Configuring TX gain, rf_power: 27, pa_gain: 3, mix_gain: 14, dac_gain: 3, dig_gain: 0
2023-09-08T13:11:07.009Z INFO  [chirpstack_concentratord_sx1301::concentrator] Setting up concentrator radios
2023-09-08T13:11:07.009Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring radio, radio: 0, enabled: true, center_freq: 867500000, type: SX1257
2023-09-08T13:11:07.009Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring radio, radio: 1, enabled: true, center_freq: 868500000, type: SX1257
2023-09-08T13:11:07.009Z INFO  [chirpstack_concentratord_sx1301::concentrator] Setting up concentrator channels
2023-09-08T13:11:07.009Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 0, enabled: true, freq: 868100000, rf_chain: 1, if_freq: -400000
2023-09-08T13:11:07.010Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 1, enabled: true, freq: 868300000, rf_chain: 1, if_freq: -200000
2023-09-08T13:11:07.010Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 2, enabled: true, freq: 868500000, rf_chain: 1, if_freq: 0
2023-09-08T13:11:07.010Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 3, enabled: true, freq: 867100000, rf_chain: 0, if_freq: -400000
2023-09-08T13:11:07.010Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 4, enabled: true, freq: 867300000, rf_chain: 0, if_freq: -200000
2023-09-08T13:11:07.010Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 5, enabled: true, freq: 867500000, rf_chain: 0, if_freq: 0
2023-09-08T13:11:07.011Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 6, enabled: true, freq: 867700000, rf_chain: 0, if_freq: 200000
2023-09-08T13:11:07.011Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring multi-SF LoRa channel, channel: 7, enabled: true, freq: 867900000, rf_chain: 0, if_freq: 400000
2023-09-08T13:11:07.011Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring Std LoRa channel, enabled: true, freq: 868300000, rf_chain: 1, if_freq: -200000
2023-09-08T13:11:07.011Z INFO  [chirpstack_concentratord_sx1301::concentrator] Configuring FSK channel, enabled: true, freq: 868800000, rf_chain: 1, if_freq: 300000
2023-09-08T13:11:07.011Z INFO  [chirpstack_concentratord_sx1301::concentrator] Starting the concentrator
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: lgw_start failed', chirpstack-concentratord-sx1301/src/main.rs:111:80
stack backtrace:
   0:   0x240b14 - <unknown>
   1:   0x2791bc - <unknown>
   2:   0x23d7e0 - <unknown>
   3:   0x2408f8 - <unknown>
   4:   0x2421f4 - <unknown>
   5:   0x241ec8 - <unknown>
   6:   0x2428a8 - <unknown>
   7:   0x2425f8 - <unknown>
   8:   0x241000 - <unknown>
   9:   0x2423b8 - <unknown>
  10:    0x1d564 - <unknown>
  11:    0x1d98c - <unknown>
  12:    0x2eacc - <unknown>
  13:    0x8fd70 - <unknown>
  14:    0x64628 - <unknown>
  15:   0x238104 - <unknown>
  16:    0x2f754 - <unknown>

I am not suspecting the Pi setup (SPI comms and/or the carrier itself) as I am able to swap out the radio module to a different one and it all works:

$ ./chirpstack-concentratord-sx1302 -c nebra-lora-mpcie.toml
...
2023-09-08T13:23:38.255Z INFO  [chirpstack_concentratord_sx1302::concentrator] Starting the concentrator
Opening SPI communication interface
Note: chip version is 0x12 (v1.2)
INFO: Configuring SX1250_0 in single input mode
INFO: using legacy timestamp
INFO: LoRa Service modem: configuring preamble size to 8 symbols
ARB: dual demodulation disabled for all SF
INFO: no temperature sensor found on port 0x3B
2023-09-08T13:23:40.622Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Getting gateway EUI
2023-09-08T13:23:40.622Z INFO  [chirpstack_concentratord_sx1302::cmd::root] Gateway ID retrieved, gateway_id: "0016c0....."
...

Any tips/pointers?

Thanks.

Can you share a picture of the hat and concentrator?

Hi @shawaj,

I’ve since acquired another board with the GL5712 module that demonstrates the same behaviour, here’s the photos of the two hats + modules that refuse to work with concentratord:

Just to confirm that if I swap the radio module to another model (NBR-0094) on either of these hats and run concentratord with another config file, it works fine ruling out SPI config/comms issues on the Pi or even issues with the hat boards themselves.

Do you have any suggestions or an example config file to get the GL5712 based Nebra Helium Hotspot hats working with concentratord?

Thanks.

The one on the left (EX) is 868.

The one on the right (UX) is 915.

When you say nbr-0094 can you confirm this is the sx1303 based Nebra concentrator?

I don’t understand why the sx1301 units don’t work with concentratord… But maybe there’s a configuration issue somewhere

The other thing I noticed is that JP1 setting seems to be wrong

The one on the left (EX) is 868.
The one on the right (UX) is 915.

Yeah I’m aware they are different frequencies, this is all very much a test so I got another GL5712 module/hat just to try and potentially rule out any questions around a dead module. Since the issue persists, this is either a config issue or I am just that unlucky to have two dead GL5712 modules in front of me :slight_smile:

When you say nbr-0094 can you confirm this is the sx1303 based Nebra concentrator?

Affirmative.

I don’t understand why the sx1301 units don’t work with concentratord… But maybe there’s a configuration issue somewhere

This is my theory as well, hence the ask for a reference config file if you have it handy.

Since I have a working chirpstack install here with the other kit (NBR-0094 / SX1303), I’ve not really debugged this to the extent possible.

The other thing I noticed is that JP1 setting seems to be wrong

From what I gather, concentratord does not actually read those frequency selection jumper GPIOs?