How can I receive downlink ACK from RAK7258?

I’m using Arduino LoRa MK1300 as a client and RAK7258 gateway.
When I send a data in a client to gateway, the gateway always send back the result (ACK)?
If that so, how can I parse the data to check it’s the right message.


Several issues

Gateways themselves do not do anything. Any ack would come from the network server, not the gateway. So at first this would seem to be a question about the network server software you are using, only, it’s not really that either - network servers implement the LoRaWAN specification, and do other things on request from application clients.

It happens that LoRaWAN does have a “confirmed uplink” mode where a downlink will be automatically generated if the node sets that confirmed uplink bit in the uplink. However, this mode isn’t very well designed and it’s probably better not to use it.

One off the problems is that any downlink, even just a confirmation, is quite “expensive” for a busy network, as while a gateway can receive from as many as 8 nodes at the same time, while it is transmitting a downlink it cannot receive from any node at all.

Another is that the way the ack protocol is defined, if the network hears a node, but the node doesn’t hear the network’s ack, then no matter how many times it repeats the confirmed uplink attempt, it will never ever get an ack, because the network thinks it already sent one.

If you want to pay the cost of sending downlink acks at all, you should probably have your application data client send a very brief downlink message back, in response to receiving an uplink.

One more minor thing: the RAK7258 has not been categorized as a “developer gateway”, so this is the wrong part of the forum for questions about it - those belong instead on the “industrial gateways” section. But then your question is not really about the gateway anyway.