I want to follow up on this because I have discovered that there still is a problem most likely. And back then, the solution was probably not to correct the keys as I thought.
The problem has meanwhile also been described here.
The problem is that my device (due to some testing I’m doing it’s on purpose) is continuously sending join requests. The problem I can describe better now:
When I start the device and it makes n join requests, I get n responses. When I restart the device, I only get responses from the n + 1 the join request. I have not dug deep yet to find out what is actually the difference in the requests. All I know is that it’s not the frame counter because it’s not incremented for join requests.
The only cure that I can reproducibly apply is to delete and re-create the device or use a newly created device.
It would be really helpful if someone from the TTN would comment on this.