Laird RG186 MQTT forwarder

Hello, running the full Loraserver 3.0 stack with docker-compose, I can successfully use a Laird RG186 gateway, but only using “Semtech forwarder” mode over UDP port 1700 (pointing to the Lora Gateway Bridge v3.0). If I try to switch to the MQTT forwarder mode, giving the address of the Mosquitto instance within the Loraserver stack, I get messages that use the old v2 format:

gateway/c0ee40ffff2944c0/rx {“rxInfo”:{“mac”:“c0ee40ffff2944c0”,“time”:“0001-01-01T00:00:00Z”,“timestamp”:75751507,“frequency”:868300000,“channel”:1,“rfChain”:1,“crcStatus”:1,“codeRate”:“4/5”,“rssi”:-45,“loRaSNR”:10.5,“size”:23,“dataRate”:{“modulation”:“LORA”,“spreadFactor”:7,“bandwidth”:125}},“phyPayload”:“AL3GraPODsb54TUAAArKJQDaQJkT62A=”}

I understand this is because the RG186 firmware contains an older version of Gateway Bridge, so I’ve tried to also launch loraserver with option mqtt2to3 attached to the same Mosquitto instance, and I actually see the messages “repeated” on the new topic structure.

But even with mqtt2to3 active, no packets are detected by loraserver/app-server - for example, not packets displayed on the live web GUI, although I see them on MQTT.

By comparing these v2 messages with the ones I natively get from v3 Gateway Bridge when getting the packets over UDP 1700, I see they have a radically different structure:

gateway/c0ee40ffff2944c0/event/up {“phyPayload”:“eav6yNhLXixqZM0JKNhBGKvXa0FIskzzyI1sZJpUGnI8bzrYMzGIUnkLE6j0Uos3aldlAK1NU+vAzagUE4rFJ3HJyaw9xhG6NT4Dt0mCTVKn2oX8elqVMKbwHaJ02JuT5BHE8QbkfSypwn9jkdf0Vol9lw==”,“txInfo”:{“frequency”:868500000,“modulation”:“LORA”,“loRaModulationInfo”:{“bandwidth”:125,“spreadingFactor”:7,“codeRate”:“4/7”,“polarizationInversion”:false}},“rxInfo”:{“gatewayID”:“wO5A//8pRMA=”,“time”:null,“timeSinceGPSEpoch”:null,“rssi”:-101,“loRaSNR”:-11.5,“channel”:2,“rfChain”:1,“board”:0,“antenna”:0,“location”:null,“fineTimestampType”:“NONE”,“context”:“OMfGmw==”}}

Many fields are there which are missing in v2, things are encoded differently, field names are different - I wonder how a simple “bridging” across topics with loraserver mqtt2to3 could solve the mismatch.

Other than upgrading the Gateway Bridge within the RG186 to v3 (which is outside my control, given that the appliance firmware is closed), is there anything else I could do in order to enable MQTT connections between the Loraserver stack v3 and this gateway? I really don’t like the Semtech protocol over UDP alternative, because 1) it’s UDP so no delivery guarantee, and 2) it doesn’t offer any protection/confidentiality mechanisms so it’s unusable on a public Internet link.

Thanks in advance for any hints!

It does not… It allows you to migrate your gateways to LoRa Gateway Bridge v3, while being on the latest LoRa Server v2.x release. It does not make your LoRa Gateway Bridge v2 gateways compatible with LoRa Server v3 as indeed there are fields missing.