Can't decode Device Data

when i send frame from my device ( mk002 nemeus ) , i receive this frame in the Application server :

The bytes of frmPayload seems in Base64 and when decoding it , i get ‘CAFE’ which is fine as i have already sent CAFE as Payload.

but when i see Device Data , i receive :

and the Data is base64 encoded but i can’t decode it from base64 and it keeps changing everytime i send the same payload ! i don’t now why ?

The frames below are the raw (and encrypted) LoRaWAN PHYPayload frames as seen by the gateway(s). This data is intedend for debugging only.

thank you for your response !

But how can i decode the data which is received in Device Data ?
when i send “CAFE” , i got this in Device Data : * data:“Yux+qw==” and when i send again the same payload i got this in Device Data : * data:“e8pXAA==” .

The data field in Device Frame is encrypted. You can not see it. The data field in Device Data is not encrypted. I can decode it to hex and the result is: 8158d533.

I think you may not be sending what you think you are sending:

$ echo Yux+qw==|base64 -D|hexdump -C
00000000  62 ec 7e ab                                       |b.~.|
00000004

$ echo e8pXAA==|base64 -D|hexdump -C
00000000  7b ca 57 00                                       |{.W.|
00000004

@bconway but the payload received in the frmPayload is Fine ! * bytes:“Q0FGRQ==”
which is “CAFE” in base64 ! but in Device Data , the data is random ! it should be “Q0FGRQ==” i think ??

write your own js-decoder in the chirpstack device profile or on any other programming language at the application side.

@bconway
The Payload i sent is “CAFE” , and i’m using Nemeus MK002 .
in Device Data :


in LoRaWAN FRAME :

The weird think is that i’m always sending the same payload “CAFE” for testing ! and in Device Data i keep receiving random Data everytime which is hard for me to decode it manually !

It sounds like you’re sending a string in place of the encrypted payload?

Yes ! the payload is interpreted as text and is transmitted as received on serial link (no translation from hexa ASCII to hexa binary is performed )

That is not fine as in this view, the payload should be encrypted. When you are seeing the plaintext message here, it means it was never encrypted thus there is an issue with your device firmware.

2 Likes

thank you guys for all your responses :heart_eyes: :heart_eyes:
solved that when i send the payload encrypted from the device !