My LoRaWAN devices successfully perform the “JoinRequest” and receive a “JoinAccept”, but they do not send any further uplink data. In the ChirpStack application under device events, I only see "join“ events, and each time a new devAddr is assigned to the device. What is the problem and how can it be solved?
Overview of Components
Main device: Edgebox RPI-200 (based on Raspberry Pi Compute Module 4 (CM4)) running ChirpStack v4.9.0.
LoRaWAN Gateway: Mikrotik Routerboard RBwAPR-2nD&R11e-LoRa8.
Devices: Milesight WS51x (Smart Wall Socket), WT101 (Smart Radiator Thermostat), LR210, and LR260 LoRa Relay Controllers.
Software components:
- chirpstack 4.9.0
- chirpstack-gateway-bridge 4.0.11
- PostgreSQL, Redis, Mosquitto
Key Configuration Details
ChirpStack Configuration (chirpstack.toml)
[postgresql]
dsn = "postgresql://chirpstack:chirpstack@localhost/chirpstack?sslmode=disable"
[network]
enabled_regions = ["eu868"]
[integration]
[integration.mqtt]
event_topic = "eu868/application/{{application_id}}/device/{{dev_eui}}/event/{{event}}"
command_topic = "eu868/application/{{application_id}}/device/{{dev_eui}}/command/{{command}}"
json = true
server = "tcp://127.0.0.1:1883/"
Region Configuration (region_eu868.toml)
[[regions]]
id = "eu868"
description = "EU868"
common_name = "EU868"
[regions.gateway.backend]
enabled = "mqtt"
[regions.gateway.backend.mqtt]
topic_prefix = "eu868"
share_name = "chirpstack"
server = "tcp://localhost:1883"
[regions.network]
installation_margin = 10
rx_window = 0
rx1_delay = 5
rx1_dr_offset = 0
rx2_dr = 2
rx2_frequency = 869525000
downlink_tx_power = -1
adr_disabled = false
min_dr = 0
max_dr = 5
ChirpStack Gateway Bridge Configuration (chirpstack-gateway-bridge.toml)
[backend]
type = "semtech_udp"
[integration]
marshaler = "json"
[integration.mqtt]
event_topic_template = "eu868/gateway/{{ .GatewayID }}/event/{{ .EventType }}"
state_topic_template = "eu868/gateway/{{ .GatewayID }}/state/{{ .StateType }}"
command_topic_template = "eu868/gateway/{{ .GatewayID }}/command/#"
PosgreSQL data
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Locale Provider
------------------------+------------------------+----------+-------------+-------------+----------------
chirpstack | chirpstack | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | lib |
chirpstack_integration | chirpstack_integration | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | libc |
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | libc |
chirpstack=# \du
List of roles
Role name | Attributes | Member of
------------------------+------------------------------------------------------------+-----------
chirpstack | | {}
chirpstack_integration | | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
chirpstack=# \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+-------------------------------------------------------------------
hstore | 1.8 | public | data type for storing sets of (key, value) pairs
pg_trgm | 1.6 | public | text similarity measurement and index searching based on trigrams
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
Mikrotik Gateway Configuration (Routerboard RBwAPR)
/iot lora servers add address=172.-.-.- name=edgebox protocol=UDP
/ip ipsec proposal set [ find default=yes ] disabled=yes
/iot lora set 0 antenna=uFL channel-plan=custom disabled=no network=private servers=edgebox
/iot lora channels set 8 spread-factor=SF10
/ip address add address=172.-.-.-/2- interface=ether1 network=172.-.-.0
/ip dhcp-client add interface=ether1
/system clock set time-zone-name=Europe/...
The Issue
- In ChirpStack (application → device → events), I only see "join“ events, and each time a new devAddr is assigned to the device.
- In LoRaWAN frames, I see only “JoinRequest” and “JoinAccept”, but no further uplink data.
- The gateway successfully connects to ChirpStack, and the gateway frames also only show “JoinRequest” and “JoinAccept” (sometimes “UnconfirmedDataUp” appears).
- Device details such as Device EUI, Join EUI, Application Key, and Gateway ID are all correctly configured.
Device Profile Settings
LoRaWAN MAC version: 1.0.3
Regional parameters revision: B
ADR: Default ADR algorithm (LoRa only)
Expected uplink interval: 300 seconds
Device-status request frequency: 0
RX1 Delay: 5 seconds
OTAA: Enabled
Class-C: Yes
Class-C confirmed downlink timeout: 4 seconds
Frame-counter validation: Disabled
Device Info
ADR Mode: Enabled
Spreading Factor: SF10-DR2
TX Power: TXPower0 (16 dBm)
RX2 Data Rate: DR0 (SF12)
RX2 Frequency: 869525000 Hz
Logs
Chirpstack Logs
Chirpstack Gateway Bridge Logs
I would be very grateful for any help. If additional information is needed, I can provide it. Thanks