We are evaluating Chirpstack, intending to move from a different server product. we have seen some surprising behavior from our devices and it could inhibit our ability to do so.
We have a couple thousand deployed OTAA sensors (LoRaWAN 1.0.4) with gateways that point to our existing non-Chirpstack server. So, they are all joined with a network and have been assigned DevAddr’s. When one these devices is added to an application in Chirpstack, and is triggered to send a payload via a gateway that is now configured to point to the Chirpstack instance, we do not see it update in the device’s configuration or “lorawan frames” table. However, we can see the frame come in via the gateway “live lorawan frames” view. But once we manually reset the device and force it to request a join, the device appears as expected in Chirpstack.
So what we think is happening is that the device already has a DevAddr that was assigned by the old server, which it sends in its uplink. Chirpstack does not recognize this session and just ignores it. The problem is that we simply can not manually reset each and every deployed sensor to force a rejoin. Many of these sensors have FCNTs in the thousands and tens of thousands…so they’ve been up and running for some time without a reset.
Is there anything we can do to migrate these devices over to Chirpstack without having to physically access them?