Migrate devices from Legacy server to Chirpstack

Hello all,

We need to migrate our devices from an old Legacy system to Chirpstack, but we need to do it without loosing the sessions at all (a hot swap)

I think it might be possible to create the devices by API and then use the “Activation” endpoint to migrate the sessions. But it seems that some fields doesn’t match exactly with what is expected on Chirpstack.

I have special doubts with the ones with the “?”. Could you please help me to figure out if I am making the right associations? or suggest a different approach? I don’t know if it should be better to add devices on the DB directly instead of trying to use de gRPC API.

Old system | Chirpstack

DevEUI | dev_eui
AppKey | AppKey
AppEUI | ???
FCntUp | f_cnt_up ??
FCntDown | n_f_cnt_down ?? or a_f_cnt_down ??
AppSKey | app_s_key
DevAddr | dev_addr
NwkSKey | nwk_s_enc_key ?? or s_nwk_s_int_key?? or f_nwk_s_int_key ??

I would appreciate your comments!!

AppEUI | ???

This is the JoinEUI in ChirpStack (AppEUI was renamed to JoinEUI in the LoRaWAN specs)

FCntUp | f_cnt_up ??


FCntDown | n_f_cnt_down ?? or a_f_cnt_down ??

For LoRaWAN 1.0.x devices you can set your FCntDown to both the n_f_cnt_ as a_f_cnt…

NwkSKey | nwk_s_enc_key ?? or s_nwk_s_int_key?? or f_nwk_s_int_key ??

For LoRaWAN 1.0.x devices, you can set your NwkSKey to all three fields.


Hello @brocaar ,
Thanks for your comments, highly appreciated.

I just would like to bother you with one last confirmation. I could not find the JoinEUI parameter in the DeviceActivation request. That means that it can be ignored, right?


Please see: Protocol documentation - ChirpStack open-source LoRaWAN® Network Server documentation

1 Like

Hello @brocaar,

I have added the JoinEUI when creating the device as defined in the documentation. Thanks a lot for your help, it was really valuable.


This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.