chirpstack / chirpstack-concentratord

Concentrator HAL daemon for LoRa gateways.
https://www.chirpstack.io/
MIT License
76 stars 54 forks source link

chirpstack-concentratord-sx1302 fails to start with RAK2287 USB GPS EU868 #23

Closed muhlpachr closed 1 year ago

muhlpachr commented 2 years ago

I am unable to start concentratord for RAK2287 USB GPS EU868 on RPi armv7hf

sudo ./chirpstack-concentratord-sx1302 -c concentratord.toml
...
WARNING: MCU version mismatch (expected:01.00.00, got:V00.02.06)
INFO: Concentrator MCU version is V00.02.06
INFO: MCU status: sys_time:40524090 temperature:-0.0oC
ERROR: received wrong ACK type (0xFF)
ERROR: failed to read REQ_MULTIPLE_SPI ack
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "lgw_start failed"', chirpstack-concentratord-sx1302/src/main.rs:111:15

Configuration used from https://www.chirpstack.io/concentratord/install/config/ for sx1302 with those modifications:

[gateway]
  antenna_gain=0
  lorawan_public=false
  model="rak_2287_eu868"
  model_flags=["GNSS","USB"]
  gateway_id="fc7c47f60740c21f"

sudo ./chirpstack-concentratord-sx1302 --version chirpstack-concentratord-sx1302 3.2.0

Sources from release tag v3.3.0 (Latest)

muhlpachr commented 2 years ago

HW seams to be fine, works with RAK Packet Forwarder from https://github.com/RAKWireless/rak_common_for_gateway and ChirpStack

sudo ./start.sh
...
INFO: Connect to MCU
INFO: Concentrator MCU version is V00.02.06
INFO: MCU status: sys_time:42305979 temperature:-0.0oC
Note: chip version is 0x10 (v1.0)
INFO: using legacy timestamp
INFO: LoRa Service modem: configuring preamble size to 8 symbols
ARB: dual demodulation disabled for all SF
INFO: [main] concentrator started, packet can now be received
INFO: concentrator EUI: 0x0016c001ff1ba1c1
INFO: [down] PULL_ACK received in 49 ms
INFO: [down] PULL_ACK received in 0 ms
INFO: [down] PULL_ACK received in 0 ms

##### 2021-12-09 00:56:51 GMT #####
### [UPSTREAM] ###
# RF packets received by concentrator: 0
# CRC_OK: 0.00%, CRC_FAIL: 0.00%, NO_CRC: 0.00%
# RF packets forwarded: 0 (0 bytes)
# PUSH_DATA datagrams sent: 0 (0 bytes)
# PUSH_DATA acknowledged: 0.00%
### [DOWNSTREAM] ###
# PULL_DATA sent: 3 (100.00% acknowledged)
# PULL_RESP(onse) datagrams received: 0 (0 bytes)
# RF packets sent to concentrator: 0 (0 bytes)
# TX errors: 0
### SX1302 Status ###
# SX1302 counter (INST): 31283744
# SX1302 counter (PPS):  0
# BEACON queued: 0
# BEACON sent so far: 0
# BEACON rejected: 0
### [JIT] ###
src/jitqueue.c:440:jit_print_queue(): INFO: [jit] queue is empty
#--------
src/jitqueue.c:440:jit_print_queue(): INFO: [jit] queue is empty
### [GPS] ###
# Invalid time reference (age: 1639011411 sec)
# no valid GPS coordinates available yet
##### END #####

JSON up: {"stat":{"time":"2021-12-09 00:56:51 GMT","rxnb":0,"rxok":0,"rxfw":0,"ackr":0.0,"dwnb":0,"txnb":0,"temp":-0.0}}
INFO: [up] PUSH_ACK received in 1 ms
INFO: [down] PULL_ACK received in 0 ms
...
brocaar commented 1 year ago

Sorry for the very late response. I missed this issue:

WARNING: MCU version mismatch (expected:01.00.00, got:V00.02.06)

This explains the issue. You need to update your MCU firmware. See also: https://github.com/Lora-net/sx1302_hal/tree/master/util_boot

Note that if you are using the latest ChirpStack Gateway OS, then you can perform this upgrade using the web-interface:

image