About MIC error

When some node send join request, server report MIC error as follows:
data_base64=“AAEAAAAAAAAAR8gAABD///8oQ2u0BgY=” error=“join-request to join-server error: response error, code: MICFailed, description: invalid mic”

May I ask what’s reason?

The MIC (Message Integrity Code) is validated using the root key of the device. So either the join-request is corrupted or the key does not match.

I checked the key. it is correct. Any other advice on that?

Perhaps the key endianess is wrong

Possible a mixup of LoRaWan versions in terms of the roles of keys

Re-used join nonces are rejected, hopefully with a distinct message but that could also be a concern

You mean, I need use same version for app-server, network server and gateway-bridge?

When I enter the key, I have checked the LSB and MSB mode, Both returned same error. MIC invalid.

FYI, If you use the MSB to enter the device EUI, then it will report error, device doesn’t exist.

I am trying to compile the latest source code on Github.com, But it will report error:

github.com/brocaar/lora-app-server/internal/storage

…/github.com/brocaar/lora-app-server/internal/storage/storage.go:75:14: undefined: migrations.Asset
…/github.com/brocaar/lora-app-server/internal/storage/storage.go:76:14: undefined: migrations.AssetDir
make: *** [build] Error 2
Checked the source code as following picture:

It looks like the source code is not the latest.