LoRWAN frame decryption

Received LoRaWAN payload frame are encrypted at chirpstack, how can I make it show a decrypted data, in the data tab.

Go to Applications → application ID → Devices → device ID → Events.

It is strange that I don’t see the Events Icon in device ID Tab. I can find only “Details”, “Configuration”, “keys (otaa)”, “activation”, “device data” and “lorawan frames”

You might be running an older version of ChirpStack. In the older version it was called Device Data.

1 Like

The payload frame is shown encrypted in the device data!

If this is a new project, I recommend starting with the latest ChirpStack v4.

It is not, it is base64-encoded.

By default, the data is decoded to base64.
You need to have a codec in Device profile to decode to json format.

thank you for you response, I understand that the payload in device data is base64 encoded. I want to make the data appear as it was sent by my device. I don’t see how it may be possible. The base64-decoder is not configured with the list of codec in the “device profile” and even when I tried to use the two mentioned codec “Cayenne LPP” and “Custom JavaScript codec function”, chirpstack treat it as unkown frame. Is there any additional configuration that I can add to resolve this problem?

What is the model of your LoRaWAN nodes?

After a successful decode, you should see the readable data in the object.
ChirpStack v3 and v4 use a bit different codec and web GUI.

This is Chirpstack v4.

It is exactly what I am getting. what I expected is when I send “hello” in the frame payload, the chirpstack will be able to interpret it as “hello” not an encoded data as it is shown!

base64 is not a LoRaWAN codec, it’s just a visual representation of the bytes that were sent. It can be easily decoded using libraries or command line tools:

$ echo aGVsbG8=|base64 -D|hexdump -C
00000000  68 65 6c 6c 6f                                    |hello|
00000005
2 Likes

Correct. Base64 or Ascìi are just how to present bytes to human.

And this may help further.