Hi,
I am trying to connect my gateway (RAK7268) to ChirpStack v4 using the MQTT protocol but I can’t get it to work.
However, there is no problem when using UDP (Semtech UDP GWMP). When using UDP, my system works perfectly — I can connect the gateway, add end-nodes, and successfully communicate with them.
Environment:
- ChirpStack version: v4 (using the official
chirpstack-docker
repository) - ChirpStack Docker repo: GitHub - chirpstack/chirpstack-docker: Setup ChirpStack using Docker Compose
- I haven’t modified any files in the repo (using the default config files as provided).
- MQTT broker: Mosquitto (running in the docker-compose stack)
Gateway configuration:
- Protocol:
MQTT for ChirpStack 3.x (PROTOBUF)
- MQTT broker address: my Docker host IP
- Port: 1883
- Protocol version: MQTT 3.1.1
- No authentication (username/password left empty)
- MQTT topics: default (I kept everything default as gateway suggests for ChirpStack 3.x PROTOBUF)
Problem description:
- The gateway successfully connects to the MQTT broker (verified via Mosquitto logs — “New client connected”).
- ChirpStack itself is running fine inside Docker (Postgres, Redis, ChirpStack, Mosquitto all healthy).
- However, ChirpStack never receives any uplinks from the gateway via MQTT.
- In ChirpStack web UI, the gateway always shows “Last Seen: never”.
- If I switch back to UDP, everything works normally.
My assumption:
- I believe there might be some mismatch between MQTT topic format or serialization (PROTOBUF vs JSON).
- Since I haven’t changed default configs from the
chirpstack-docker
repo, I assume the system expects PROTOBUF input. - Gateway logs don’t show any errors, Mosquitto logs only show successful connections.
Question:
- Is there anything additional I need to modify in the
chirpstack-docker
repo to make MQTT PROTOBUF work? - Do I need to modify
chirpstack.toml
? (specificallyjson=false
in[integration.mqtt]
) - Or does ChirpStack v4 expect some slightly different topic format from RAK7268?
Thanks in advance for your help!