Very short range (~50–75 m) with LoRaWAN using ChirpStack

Hi everyone,

I’m testing LoRaWAN for a possible project, but I’m only getting about 50–75 meters of range before packets drop completely. I’d appreciate any ideas on what might be wrong.

My setup

  • Gateway: Elecrow LR1302 LoRaWAN Gateway Module (SX1302, SPI, EU868) on a Raspberry Pi 4 Hat
  • Node: Heltec Wireless Tracker 868 MHz
  • Antennas:
    • Gateway: 3.5 dBi whip
    • Node: 2 dBi rubber duck. Both are specified for 868 MHz, good reviews (calibrated), tight SMA connectors.
  • Software: Latest ChirpStack full image on the gateway (microSD), Heltec ESP32 Arduino LoRaWAN library on the node.
  • Regulatory settings: EU868 region.

What I’ve observed

Outdoor, line-of-sight (LOS):

Gateway mounted 6 m up, indoor near a window.

Walking away from gateway: at ~50–60 m the node’s SF jumps from 7 to 8–9, then a few metres further and the link is lost entirely.

Non-LOS through buildings:

At ~25 m but behind 2–3 houses, I still get solid packets at SF7.

Indoor testing (same floor and one room over) works at SF7 without issues.

What I’ve tried so far:

  • Swapping in fresh antennas on both gateway and node.
  • Double-checking that everything is set for 868 MHz (EU868) and that power levels are max (14 dBm).
  • Verifying SMA connectors are tigth.
  • Watching ChirpStack’s gateway logs: I see no RX at all beyond ~75 m.

I’m confused because a lot of forum posts say people routinely get hundreds of metres or even 1 km+ in urban or semi-urban settings without full LOS on EU868. I’m barely scratching 70 m in what seems like “ideal” conditions. My application needs to send data every few seconds, at the lowest SF possible to minimize airtime. At the moment, this performance makes the project unviable.

Can it be Hardware defects? Could I have been shipped non-868 MHz parts or a faulty RF module? or maybe any ChirpStack settings I should double-check?

Thanks in advance for any suggestions or troubleshooting steps!

In all cases what is the RSSI / SNR? Check chirpstack for that. Make sure you are using the right frequencies on the node.

Those data are from today in a city. First number is distance from gateway, next numbers RSSI/SNR
:satellite:737m -94dBm/9
:satellite:624m -107/4
:satellite:1182m -108/7
:satellite:341m -108/3
:satellite:1153m -109/-10
:satellite:680m -110/-9
:satellite:288m -117/-7

Are you sure you installed the antenna in the correct spot? I made that mistake when first trying the PI + HAT solution, and saw similar range as you are, ended up burning out the concentrator on my gateways.

I think so?

I’m using 868Mhz band

At 160m (when I lose signal with SF12 and ADR off):

  • RSSI = –112 dBm
  • SNR = –19 dB

At 5m (SF12 and ADR off)

  • RSSI = –51dBm
  • SNR = 7.25 dB

One thing that most people do not take into account in situations like this is the RF blocking properties of building materials, insulation or even certain window glass. A foil backed insulation can cause issues and is only installed on external walls, or windows in commercial buildings often have a chromium oxide coating which is intended for thermal insulation but can heavily affect RF signal.

I cannot say if that would be your issue but the fact it is working well indoors but quickly falling off outdoors would be an indicator. Do you have way to get the gateway outside the building temporarily to test its range (maybe put it on a roof or balcony)?

I placed the gateway outside the window, but it lost connection completely after just one row of buildings at SF12. Maybe those buildings are very RF-blocking—I’m not sure (the outside walls are made of bricks).

Based on your initial photo that looks like it reached further with the gateway outside?
One thing I can say from some of the LoRa deployments I’ve done for work is urban areas are the hardest for coverage. LoRa frequencies penetrate some buildings well and others not at all. Because I have installed Kerlink gateways on top of a water tower (50m tall) and could get ranges of up to 8-10+ km in rural areas, but in an urban area on top of a 50m tall building I may not reach 1km due to all the structures in the way. LoRa is great for line of sight communication but does not fair so well with lots of obstruction.

You may be able to try a more powerful gateway and antenna combo, it just depends on how much you want to spend on this. I’ve not use the raspberry pi gateways before so I’m not sure what their transmit power is. If you want suggestions for some entry level comerical gateways I could provide a few. My company does have a partnership with Kerlink, so I’m most familiar with their equipment, but RAKWireless makes a good product as well.

1 Like

@ChrisG My tests haven’t improved much yet, because I initially had ADR enabled and was dropping out too early (I was moving). After disabling ADR and locking in SF12, I did pick up a few extra meters, but still only around top 160 m in the city without LOS.

I’m actually doing a feasibility study for a small commercial project where I need to cover roughly 1 km² with several dozen LoRaWAN nodes. My goal is to limit TX power (to needed) and implement LBT and channel hopping so I stay RF-polite.

Since my deployment won’t really be in a urban area, 160 m isn’t a deal-breaker, but I want to be confident in the protocol’s range (160m using SF12 when I want SF7-9) —and especially to give the gateway the best possible performance upfront. I’m currently running a Raspberry Pi 4 with a Pi Hat (LR1302), which on paper could output up to 27 dBm (including the antenna in RX2), but I suspect a purpose-built gateway could push a bit more. I’ve ordered a ZIISOR 6 dBi antenna to replace my current 3.5 dBi unit and see if that helps reaching further nodes.

From your experience, are there any entry-level commercial gateways or antenna combinations you’d recommend for my use case? I’d love to hear what’s worked well for you and your experience in general.

Thanks for sharing your insights—I really appreciate your help.

a) We talk about uplink from node to GW or downlink from GW to node? I have the impression that we talk about uplinks. So the TX power of concentrator is irrelevant.
b) LoRaWAN TX power is already too low. I don’t know a concentrator that does not meet the requirements of TX power. It’s a SX1302 concenctrator, not a no-name.

You must inform the software about your antenna. In that case it lowers the TX power to the legal limits. But again check a) from above.

Maybe it will help for RX (to receive signals). +3dB means twice the reach.

My indoor GW it’s behind a wall and I have 300m range with SF9. SF10, 11, 12 not tested. I can expect range around 500m. So probably outdoor GW would be around 1km range. But as @ChrisG wrote, not all buildings are the same.

  1. Try test in another neighborhood with different types of building. I did that with a laptop and data from my mobile phone. It’s not so difficult.
  2. Test LOS range with the help of another person, so one can go away.
  3. Also test in a quiet time. I experienced that in 04:00 (24 hour format) my nodes can reach further GW’s. In that case you may also have RF noise (GSM e.t.c.)

Your GW catches other LoRaWAN traffic? Maybe you have noise from helium GW’s that transmit at SF12. Try different SF like 10 or 11. SF10 is pretty powerful already. I use SF7 to SF9 for my mobile devices.

Just to clarify, we’re talking strictly about the uplink (node → GW) here, since that’s the most critical link. The gateway can handle downlinks on RX2 at up to +27 dBm, which effectively compensates for any TX-power reduction when I tell the software about my new antenna gain.

I also think that the extra ~3 dBi should give a noticeable boost on the uplink. If that works, I could consider trying an 8 dBi antenna—I’m aware that as I go above ~6 dBi, the vertical beamwidth starts to narrow significantly, and I may lose coverage for devices that aren’t at the same elevation but I don’t know how much.

On another note: is there any way to empirically measure the current LoRa traffic/ambient interference in my area? From what I’ve read, the ChirpStack gateway image often comes with the loragw_sx1302_hal repository installed, which includes example tools like spectral_scan (sometimes called lora_spectrum). That application can sample the 868 MHz spectrum and publish the results over a UDP socket. I could run spectral_scan on my gateway to see a real-time occupancy map of the channels and identify where the noise floor or other LoRa traffic is highest.

I forgot to mention that the testing area is located just 500 m from a cell tower, and I’m not sure if this proximity could affect the results. I’ll soon be moving to another location about 2.23 km away to carry out further tests.

Your idea about spectral_scan or something similar seems fine, although I think you already have access to LoRaWAN traffic.

Yes, by checking your LoRaWAN packets before chirpstack. I don’t know about ChirpStackOS to help you further. To my understanding concentratord maybe has some log or info about traffic BEFORE chirpstack.

example from my gateway:

JSON up: {"stat":{"time":"2025-06-02 17:26:51 GMT","rxnb":13,"rxok":1,"rxfw":1,"ackr":100.0,"dwnb":0,"txnb":0}}
INFO: Received pkt from mote: 772F34C6 (fcnt=44353)
JSON up: {"rxpk":[{"tmst":593686803,"chan":1,"rfch":1,"freq":868.300000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":9.0,"rssi":-117,"size":52,"data":"4MY0L3fuQa2FBV20YhsR+i2JB0MUZVv19KuF2i5G7KoN4yr94S44Q00ogs4E6be6xDu79g=="}]}
INFO: Received pkt from mote: BF5AA59F (fcnt=62772)
JSON up: {"rxpk":[{"tmst":898933451,"chan":2,"rfch":1,"freq":868.500000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-11.0,"rssi":-105,"size":52,"data":"4J+lWr8zNPUcl3bl1X2Wvsn5zZNg1xaG4xiVcn9Cc6vCx546EWGE2z/EOKf5wAjPwYFtGw=="}]}
INFO: Received pkt from mote: 60D03674 (fcnt=25990)
JSON up: {"rxpk":[{"tmst":935116051,"chan":7,"rfch":0,"freq":867.900000,"stat":1,"modu":"LORA","datr":"SF12BW125","codr":"4/5","lsnr":-11.0,"rssi":-118,"size":52,"data":"4HQ20GB9hmXUzH6OC/pb7b5fsDQk2R+t3k+rCF+Gp6f8rQXegqSygARfJL3Tl4Oms25asw=="}]}
# CRC_OK: 38.46%, CRC_FAIL: 61.54%, NO_CRC: 0.00%

The last line is interesting. CRC_FAIL means that concentrator tried to demodulate a LoRaWAN signal and failed.

I checked for about 5 minutes, which I know isn’t very long, but I didn’t see any packets in the air. (Maybe I’m doing something wrong?) When my range tests, I sent messages every 5 seconds, so if the limited range was due to interference or heavy LoRa air traffic, I should have seen some activity within this 5 minutes. The only packets I saw were the ones sent from my own node.

root@chirpstack-32b1d5:/var/etc/chirpstack-concentratord# killall chirpstack-concentratord-sx1302 && /usr/bin/chirpstack-concentratord-sx1302 -c var/etc/chirpstack-concentratord/concentratord.toml -c /var/etc/chirpstack-concentratord/region.toml -c /var/etc/chirpstack-concentratord/channels.toml
2025-06-03T14:30:40.025Z INFO  [chirpstack_concentratord_sx1302::handler::config] Updating concentrator configuration
2025-06-03T14:30:40.025Z INFO  [chirpstack_concentratord_sx1302::cmd::root] Starting Concentratord SX1302 (version: 4.4.8, docs: https://www.chirpstack.io/docs/chirpstack-concentratord/)
2025-06-03T14:30:40.025Z INFO  [libconcentratord::reset] Enabling concentrator power
2025-06-03T14:30:40.125Z INFO  [libconcentratord::reset] Triggering sx130x reset
2025-06-03T14:30:40.325Z INFO  [libconcentratord::reset] Triggering sx1261 reset
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting i2c device path, path: /dev/i2c-1
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting i2c temperature sensor address, address: 57
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting board configuration, lorawan_public: true, clock_source: 0, com_type: Spi, com_path: /dev/spidev0.0
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up fine timestamp, enable: false
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 12, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 15
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 13, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 16
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 14, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 17
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 15, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 19
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 16, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 20
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 17, dig_gain: 0, pa_gain: 0, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 22
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 18, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 1
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 19, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 2
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 20, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 3
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 21, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 4
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 22, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 5
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 23, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 6
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 24, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 7
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 25, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 9
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 26, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 11
2025-06-03T14:30:40.526Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Configuration TX gain for radio, radio: 0, rf_power: 27, dig_gain: 0, pa_gain: 1, dac_gain: 0, mix_gain: 5, offset_i: 0, offset_q: 0, pwr_idx: 14
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up concentrator channels
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring radio, radio: 0, enabled: true, center_freq: 867500000, type: SX1250
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring radio, radio: 1, enabled: true, center_freq: 868500000, type: SX1250
2025-06-03T14:30:40.526Z INFO  [chirpstack_concentratord_sx1302::concentrator] Setting up concentrator channels
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 0, enabled: true, freq: 868100000, rf_chain: 1, if_freq: -400000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 1, enabled: true, freq: 868300000, rf_chain: 1, if_freq: -200000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 2, enabled: true, freq: 868500000, rf_chain: 1, if_freq: 0
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 3, enabled: true, freq: 867100000, rf_chain: 0, if_freq: -400000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 4, enabled: true, freq: 867300000, rf_chain: 0, if_freq: -200000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 5, enabled: true, freq: 867500000, rf_chain: 0, if_freq: 0
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 6, enabled: true, freq: 867700000, rf_chain: 0, if_freq: 200000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring multi-SF LoRa channel, channel: 7, enabled: true, freq: 867900000, rf_chain: 0, if_freq: 400000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring Std LoRa channel, enabled: true, freq: 868300000, rf_chain: 1, if_freq: -200000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Configuring FSK channel, enabled: true, freq: 868800000, rf_chain: 1, if_freq: 300000
2025-06-03T14:30:40.527Z INFO  [chirpstack_concentratord_sx1302::concentrator] Starting the concentrator
Opening SPI communication interface
Note: chip version is 0x10 (v1.0)
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
2025-06-03T14:30:43.070Z DEBUG [chirpstack_concentratord_sx1302::concentrator] Getting gateway EUI
2025-06-03T14:30:43.071Z INFO  [chirpstack_concentratord_sx1302::cmd::root] Gateway ID retrieved, gateway_id: "0016c.........e9"
2025-06-03T14:30:43.071Z INFO  [libconcentratord::jitqueue] Initializing JIT queue, capacity: 32
2025-06-03T14:30:43.071Z INFO  [libconcentratord::events] Creating socket for publishing events, bind: ipc:///tmp/concentratord_event
2025-06-03T14:30:43.072Z INFO  [libconcentratord::commands] Creating socket for receiving commands, bind: ipc:///tmp/concentratord_command
2025-06-03T14:30:43.073Z DEBUG [chirpstack_concentratord_sx1302::handler::uplink] Starting uplink handle loop
2025-06-03T14:30:43.073Z DEBUG [chirpstack_concentratord_sx1302::handler::jit] Starting JIT queue loop
2025-06-03T14:30:43.073Z DEBUG [chirpstack_concentratord_sx1302::handler::command] Starting command handler loop
2025-06-03T14:30:43.073Z DEBUG [chirpstack_concentratord_sx1302::handler::stats] Starting stats loop, stats_interval: 30s
2025-06-03T14:31:13.076Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:31:43.079Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:32:13.082Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:32:43.085Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:33:13.089Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:33:43.091Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:34:13.095Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:34:43.097Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:34:53.250Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS epoch, uplink_id: 463153077, error: gps_ref_valid = false
2025-06-03T14:34:53.250Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS time, uplink_id: 463153077, error: gps_ref_valid = false
2025-06-03T14:34:53.250Z INFO  [chirpstack_concentratord_sx1302::handler::uplink] Frame received, uplink_id: 463153077, count_us: 251057628, freq: 868500000, bw: 125000, mod: LoRa, dr: SF12, ftime_received: false, ftime_ns: 0
2025-06-03T14:34:53.498Z INFO  [libconcentratord::jitqueue] Enqueueing timestamped packet, downlink_id: 632555861, counter_us: 256057628, current_counter_us: 251327120
2025-06-03T14:34:53.498Z INFO  [libconcentratord::regulation::tracker] Item tracked, band: [label: M, freq_min: 868000000, freq_max: 868600000, dc_max: 1.00%], freq: 868500000, tx_power_eirp: 16, start_counter_us: 256057628, end_counter_us: 257605628, duration: 1.548s
2025-06-03T14:34:53.499Z DEBUG [libconcentratord::jitqueue] Packet enqueued, downlink_id: 632555861, count_us: 256057628
2025-06-03T14:34:58.195Z INFO  [chirpstack_concentratord_sx1302::handler::jit] Scheduled packet for TX, downlink_id: 632555861, count_us: 256057628, freq: 868500000, bw: 125000, mod: LoRa, dr: SF12
2025-06-03T14:35:01.783Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS epoch, uplink_id: 4201481535, error: gps_ref_valid = false
2025-06-03T14:35:01.783Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS time, uplink_id: 4201481535, error: gps_ref_valid = false
2025-06-03T14:35:01.783Z INFO  [chirpstack_concentratord_sx1302::handler::uplink] Frame received, uplink_id: 4201481535, count_us: 259593201, freq: 868500000, bw: 125000, mod: LoRa, dr: SF12, ftime_received: false, ftime_ns: 0
2025-06-03T14:35:02.144Z INFO  [libconcentratord::jitqueue] Enqueueing timestamped packet, downlink_id: 2450645939, counter_us: 260593201, current_counter_us: 259973183
2025-06-03T14:35:02.144Z INFO  [libconcentratord::regulation::tracker] Item tracked, band: [label: M, freq_min: 868000000, freq_max: 868600000, dc_max: 1.00%], freq: 868500000, tx_power_eirp: 16, start_counter_us: 260593201, end_counter_us: 261486201, duration: 893ms
2025-06-03T14:35:02.145Z DEBUG [libconcentratord::jitqueue] Packet enqueued, downlink_id: 2450645939, count_us: 260593201
2025-06-03T14:35:02.737Z INFO  [chirpstack_concentratord_sx1302::handler::jit] Scheduled packet for TX, downlink_id: 2450645939, count_us: 260593201, freq: 868500000, bw: 125000, mod: LoRa, dr: SF12
2025-06-03T14:35:06.644Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS epoch, uplink_id: 128065694, error: gps_ref_valid = false
2025-06-03T14:35:06.644Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS time, uplink_id: 128065694, error: gps_ref_valid = false
2025-06-03T14:35:06.644Z INFO  [chirpstack_concentratord_sx1302::handler::uplink] Frame received, uplink_id: 128065694, count_us: 264445182, freq: 867300000, bw: 125000, mod: LoRa, dr: SF12, ftime_received: false, ftime_ns: 0
2025-06-03T14:35:11.489Z DEBUG [chirpstack_concentratord_sx1302::handler::uplink] Frame received with invalid CRC, see disable_crc_filter configuration option if you want to receive these frames
2025-06-03T14:35:11.489Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS epoch, uplink_id: 3232784447, error: gps_ref_valid = false
2025-06-03T14:35:11.489Z DEBUG [chirpstack_concentratord_sx1302::wrapper] Could not get GPS time, uplink_id: 3232784447, error: gps_ref_valid = false
2025-06-03T14:35:11.489Z INFO  [chirpstack_concentratord_sx1302::handler::uplink] Frame received, uplink_id: 3232784447, count_us: 269296310, freq: 867100000, bw: 125000, mod: LoRa, dr: SF12, ftime_received: false, ftime_ns: 0
2025-06-03T14:35:13.100Z INFO  [libconcentratord::jitqueue] Duty-cyle stats: [label: M, freq_min: 868000000, freq_max: 868600000, dc_max: 1.00%] - current_dc: 0.07%
2025-06-03T14:35:13.100Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 5, rx_received_ok: 4, tx_received: 2, tx_emitted: 2
2025-06-03T14:35:43.103Z INFO  [libconcentratord::jitqueue] Duty-cyle stats: [label: M, freq_min: 868000000, freq_max: 868600000, dc_max: 1.00%] - current_dc: 0.07%
2025-06-03T14:35:43.103Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0

Don’t TX every 5 secs, LoRa is not WiFi. Even for testing is not useful. My gateway also reports RSSI/SNR, strange thing you don’t have a report for that.

It seems you don’t have LoRaWAN traffic.

2025-06-03T14:30:43.073Z DEBUG [chirpstack_concentratord_sx1302::handler::stats] Starting stats loop, stats_interval: 30s
2025-06-03T14:31:13.076Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:31:43.079Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:32:13.082Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:32:43.085Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:33:13.089Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:33:43.091Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:34:13.095Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0
2025-06-03T14:34:43.097Z INFO  [libconcentratord::events] Publishing stats event, rx_received: 0, rx_received_ok: 0, tx_received: 0, tx_emitted: 0

I don’t have any ideas. Try to change neighborhood and try LOS range.

Sorry, I got pulled into a project for a LoRa deployment over 200 sq.km and lost track of everything else.
But I also just realized how difficult most manufactures make for a hobbyist to purchase just a single commercial level gateway for projects.
Kerlink has a number of distributors in the EU, and some run a web store where you can order devices. https://www.kerlink.com/distributors/?country=DE (checking a few
RAKWireless has their own webstore for US based orders, but they include a Contact Us link for shipping to other counties https://store.rakwireless.com/products/rak7289-8-16-channel-outdoor-lorawan-gateway?variant=42334687789254
MultiTech makes good indoor devices, but I cannot find anyone online that sells their outdoor rated devices for a reasonable price.