Problem connecting gateway to ChirpStack v4 using MQTT (works fine with UDP)

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:

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? (specifically json=false in [integration.mqtt])
  • Or does ChirpStack v4 expect some slightly different topic format from RAK7268?

Thanks in advance for your help!

This is probably the issue. Using a v3 gateway bridge in a V4 instance.
You could try enabling V4 migration as described here: v3 to v4 migration - ChirpStack open-source LoRaWAN® Network Server documentation

It could be an issue with the topic prefix as well though. Do the topics you gateway posts to start with eu868? Or some other enabled region prefix?