Difficulty with MQTT downlink messages

Hello RAK community,
I am new to LoRa networking in general. I am attempting to monitor and control some devices through LoRaServer (ChirpStack) on my RAK2245 / RPi gateway.
My devices successfully join, and I can see uplink messages and internally generated downlink messages from the LoRaServer gateway in my device monitor, in the ChirpStack Applications//Devices/ “Device Data” tab, and in monitoring using mosquitto_sub:
mosquitto_sub -v -t “application/#”
However, I have not been successful at sending downlink messages to my devices. I have tried, for example:
mosquitto_pub -t “application/1/device/3330313557397b19/tx” -h localhost -p 1883 -m ‘{“confirmed”:false,“fPort”:10,“object”:{“digitalOutput”:{“3”:9}}}’
and
mosquitto_pub -t “application/1/device/3330313557397b19/tx” -h localhost -p 1883 -m ‘{“confirmed”:false,“fPort”:10,“data”:AgEKAwEH}’
I can see these messages in the mosquitto_sub monitor running in a separate window, but they do not appear in the “Device Data” monitoring window as a downlink and no packet is received by my device during the Rx window.
I am certain that I am missing something rather simple, but in several days of probing and studying this problem have not been able to determine what that is.
I suspect that there is an authentication mechanism that may be involved, but in attempting to read the documentation of authentication I just become confused.
Can someone please suggest a resource or guide which will provide a step-by-step tutorial or guide to sending downlink messages? Disconnected fragments such as I have found are of little help because I don’t understand the process end-to-end.
Thank you!

You also might want to check on Chirpstack’s own foums and see if there is any relevant info for injecting application-level downlinks from MQTT, previous questions from people trying to do it, etc as these concerns would seem to be general to Chirpstack and not particularly specific to the instance of it running in your gateway.

Hello Chris. Thank you for your response. I have, in fact, posted the same query on the ChirpStack forum; I have not had a response yet.
I have no evidence that this is true, but there may also be slight differences between the LoRaServer implementation distributed by RAK and the relabeled ChirpStack implementation.

Hi @swagner0 ChirpStack in RAK images is the latest as we use their Repo when installing the images. As I cannot test this before tomorrow :wink: please try to put this {“confirmed”:false,“fPort”:10,“data”:AgEKAwEH} in json file and try to sent the file as a downlink.

Example:

mosquitto_pub -t "application/1/device/0101010101010101/tx" -f /tmp/test.json

The content of /tmp/test.json is:

{
    "confirmed": true,
    "fPort": 10,
    "data": "AQID"
}