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?

Hey were you able to get gl5712 working?
I have RPi 3+ compute module and after installing vanilla OpenWRT the connector board seams to be working:
lsusb:

Bus 001 Device 004: ID 148f:5370 Ralink 802.11 n WLAN
Bus 001 Device 005: ID 04e2:1300 Exar Corporation Exar USB Ethernet
Bus 001 Device 008: ID 04e2:1200 Exar Corporation Exar USB EDGE
Bus 001 Device 006: ID 0a12:0001  CSR8510 A10
Bus 001 Device 007: ID 04e2:1100 Exar Corporation Exar USB I2C
Bus 001 Device 003: ID 04e2:0800 Exar Corporation Exar's  XR22800 Hub
Bus 001 Device 002: ID 1a40:0101  USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux 5.15.150 dwc_otg_hcd DWC OTG Controller

I am guessing one of those devices is the gl5712 module. I am just not sure where do I get a driver for it :slight_smile:

I have not been able to get the SX1301 based Nebra kit working with concentratord and have moved on to other modules. There is a chance it was just a configuration issue, but I have not been able to find a reference config that I could adapt / verify.

Shame, as there’s plenty of these kits popping up on eBay etc as I suppose people are ditching the whole crypto thing these were once used for…

I think it is not only the crypto crash but also the company effectively bricking the devices, I saw some very bitter sellers, also nebra support site turned off public access, but I was lucky enough to makes notes of URLs that had pin bridging combos that enables flashing before they did, so could use \ way back machine to look it up…
In any case I added request for support of of GL5712 I was also able to flash vanilla OpenWRT on RPi compute module and with that the board is working and I think the module is listed in lsusb, so when I have the time I will test a couple more things like running chirpstack in docker container and mounting the module maybe that will work… or I will try to build some .ipk packages for forwarders to MQTT and install it on the raw OpenWRT install. Let you know if anything works.

1 Like

@PovilasID @omerk the devices are not “bricked” in any way. You can use them for whatever you want either directly with the RockPi or just with the concentrator and pi hat

You can find the pin information here if using on a RockPi…

Or here if using on Raspberry Pi…

In other words, the reset pin is physical pin 15 / GPIO22 on the Raspberry Pi.

You can also find the hardware files themselves here:

And the schematic here:

Additionally, the packet forwarder stuff is here:

And the sx1301 configuration files are here:

Really, the only things that can be wrong are either the configuration of something on the software side, or the hardware has failed. But hard to tell. I have this hardware running fine on LoRa gateway though.

Let me know if you have any other questions about getting them working.

The GL5712 concentrator itself has USB interface, but the Nebra HAT board does not. So it wouldn’t show up in lsusb

The communication is via SPI