MQTT Device Data Empty

Hi All!

My app listens to application/+/device/+/up for new information from my devices. The devices look like they’re working correctly, but the data field is always blank as circled below in MQTT.

The righthand pane shows the same message in Chirpstack, but it’s not clear to me that this “Raw” data is actually data or just the frame header and frame port information as part of the frm_payload

Is there an updated troubleshooting link? https://www.loraserver.io/guides/troubleshooting/

Am I correct in believing this is how I can get the decrypted data into my app? Is this because I don’t have a codec set in the device profile?

Which end device is?

I’m actually putting together a proof of concept for my company demonstrating that we can use Chirpstack. I’d prefer not to say what company at the moment. Our devices are based on this chip: https://www.semtech.com/products/wireless-rf/lora-connect/sx1272#features

We currently deploy our equipment with Multitech’s gateway configured as the network server, but the limitations are causing us some headache.

You need to have a codec in device profile to decrypt data to object.

That does not explain why the data field is empty. If a non-zero payload has been sent, it will shows as decrypted data even if no codec has been configured. Codecs are completely optional.

The packet has f_port=0.
Either you send to the wrong fport or you capture wrong packets.

Fport 0 means for mac commands only.
Your uplink should use fport>0

3 Likes

Thanks datnus!

Is the f_port set by the transmitting device?

This post also seems to indicate it could be the “endianness” or byte order. I feel like this might not be the case though otherwise why would it work with the Multitech gateway as the network server?

You are better to upload a full screenshot of the LoRaWAN Events.
So we can know which stage your device are in.
Then we can check if you device is able to join, send uplink and you are capturing the correct packets.
Seem like you are capturing MAC command packets instead. And you device may not be able to join the network yet.

This is the LoRaWAN Events from Application > Device

Click on the “up” packet

Similar story from this screen. All the up messages are fport0.

I believe the device has joined correctly because we actually configure them to blink a green LED when they have a valid session. I’m attempting to work with our firmware person to figure this out, but I’m sadly not able to focus on this everyday.

The image worths millions of words.
You are getting everything right except the fport.
You need to change the firmware to send uplink packets with fport>0 (say fpport=1 or 2…)
fport=0 is reserved to MAC commands.

2 Likes

Thank you @datnus and @IoTThinks!

Wish I could mark you both as the solution!

1 Like

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