Can not get downlink data

Hello , I’ve been stuck here for a long time.

I tried to get downlink from gateway to endnode. And i setup my gateway support both B and C , and the other parametes like this : My Setup Tutorial

First , i use ttn-abp of this link Arduino Code . And when i upload for the first time i saw on the Arduino Serial Monitor , i could get some data bytes and exactly is “Received : 17 bytes of Payload” after package queued. But then i tried to config something in my loraappserver on localhost and then i could not get data anymore.

I realized that. If my fPort in phpPayload is null , so i can’t get data. But i hadn’t known why before i config something in loraappserver my fPort maybe different from 0 as below, i don’t remember.

One more, i realized that , when i reactived my device on loraappserver, there are some data is sent to my Arduino , and it’s only 16bytes . This is the picture :

And this is information when i received 16bytes downlink data :


When i can not receive data , my fPort is null (sorry i forgot to take a picture) :frowning_face:

At the same time i didn’t get any data when i tried this command : mosquitto_sub -t “application/3/device/mydevEUI/tx” -v

But i can get some data of gateway and phpPayload with command : mosquitto_sub -t “gateway/device/mygatewayid/tx” -v . The phpPayload is a encode string and i tried to decode with base 64 but i didn’t understand what is that

I just can’t get downlink data , i still send data to loraserver. Thanks you

1 Like

Are you doing anything to intentionally send data? If so, what?

Otherwise you are probably seeing network-level MAC traffic to configure your node, rather than packets that contain any application-level traffic. Once the node seems properly configured this traffic would stop or drastically slow down.

If you are sending application traffic, you should explicitly specify a port other than 0, which is for network configuration and not for application data.

In monitoring the ‘gateway/…/tx’ topics you see raw packets which are partially encrypted before being encapsulated in base64 encoding for transmission through MQTT. In your own system you can get at your encryption keys and decrypt this, but you probably don’t need to. Often the MAC commands are sent in the fopts field outside the encryption, though in the case of your screenshot it looks like there are enough that they were packed into the encrypted part of the payload instead and the port 0 was used to indicate that it contained MAC traffic.

You may also want to add some more debugging in your Arduino LMIC code, particularly in the code paths that catch mis-synchronization of sequence numbers or integrity check (MIC) failures or decryption failures, as mixups over sequence number or keys can be a common cause of failure.

Thanks for answer!

Yes i’m trying to get downlink data , but i’m still not image what will send to the Arduino ,( that is my data what i want or that just an information about my config or something which i can’t send what i want?).

I don’t remember which fPort when i received 17bytes data :frowning:

Have you ever sent your data from gateway to node? Or worked with downlink?. Could you help me?

In video , i just config as my brother but i dont’t know why i have to do that except deveui, devadd, id gateway .

About the others parameters such as : delay, RX1 RX2 , time interval ,… i see i still send data from
my node to gateway when i changed some parameters . I think i have to read more about this to set properly :frowning: