LinkADRReq Mac Command Piggybacking


I am currently trying to figure out how to send downlink messages with MAC Commands to my end node: STM32L0 (b-l072z-lrwan1). At the LoRa App Server our device profile is LoRaWan Mac version 1.0.3 regional parameter 3, OTAA enabled, Class C device and the frame counter validation is disabled.

Firstly, I have been communicating to the LoRa server api through gRPC as mentioned below:

When sending downlink messages (specifically linkadrreq mac commands) from the LoRa Server through the api method, a downlink message is successfully sent out from the LoRaServer with an arbitrary devstatusreq mac command (automatically configured), but it fails to send the linkadrreq arbitrarily when we want to, through a go script ran on the LoRaServer. It is only piggybacked when the devstatusreq mac command is sent downlink.

Is there a reason why the linkadrreq is piggybacking on the mac command that is automatically sent from the LoRaServer? If so how, can we send the linkadrreq arbitrarily without waiting for the devstatusreq mac command?