We are using wireless sticks to control an automatic feeder; these nodes report their status via Lorawan on demand, i.e. not periodically (without using appTXDutyCycle, I think is the variable), and are C nodes, as the aplication requires sending new tables and or stop commands. When the node is busy feeding and monitoring, there are no issues. However, as when the node is idle it is transmitting keep alive packets every hour, the communications are quite unreliable and at least half the time require a hard reset to normalize.
We have observed that most of the time there will be a lost frame, as there are frame counters errors in the logs, but these can take a while to resolve, and sometimes they will not.
Other times the node will be offsync from the lorawan network, i.e. the node will transmit as if it joined, when it is not.
How do you deal with these problems in your particular situation? We have tried starting a new Join periodically, as well as periodically sending packets requiring an answer (may be though our protocol or may be though a Lora confirmed message), but then each of those have their own issues. Another suggestion was to use a LinkCheckReq message, but then we do not know how to implement these in the nodes.
Thanks on your attention