No downlink visible in Live Loraframes

Hi all

i have been using ChirpStack from when it was called LoraServer and setup a little network for my home automation with custom made Arduino Module using LMIC libary.

I have negelegted updating for a while but i updated to the latest version of ChirpStack 4 days ago.

While the nodes worked perferly fine with all previous versions (i think i updated last early this year) now i’m not able to see any downlink messages in the live frames (gateway and node) and my nodes increase DR to be seen as no downlink messages are received by them. generally they got every few hours

The problem however i discovered noticing a jump from 100 downlinks to 1200 downlinks in the gateway statistics which seem odd. Thats roughly half of messages receive. Looking with a SDR i can see my gateway responding to messages, i also see them in the Network Server. But in the web UI i dont see downlinks. Scheduling downlink will also not clear the queue.

i tried quite a bit to chase down the problem but i’m stuck.

Join still works but NewChannel Update, Status request or manual downlinks are not working. Most importantly while i see MQTT messages with command down i dont see them in the UI anymore.

Maybe someone encountered something similar in a similar setup recently

after spending some more time. its some issue with the AS not getting infos about downlink messages. Therefore my devices get a downlink almost every time.

i cant see them in either gateway or device live frame view nor in redis. but i can see the down commad in MQTT. i updated all my configs to the latest on the home page. Redis is at 5.x.x

is the AS or the NS responsible for initialting downlinks e.g. for MAC commads? and why i’m not able to see them in the Application

ChirpStack will only consider a downlink as transmitted when it receives an acknowledgement from the gateway. Really old packet-forwarder versions did not send back these acknowledgements. You could validate this in the ChirpStack Gateway Bridge if any tx ack was received from the gateway.

is this something that changed recently (like last 2 updates) i used to see my downlinks
i set up my gateways via ttn-zh/ic880a-gateway github repo
looking at the gateway it seem to ack something but i dont see it in the bridge

the port on the gateway is 1700 for up and down

When using the UDP Packet Forwarder, it is this ACK that is expected after a downlink attempt:

Thanks found it. This is only in the semtec forwarder since version 3.0 and the ttn-zh/ic880a-gateway github setup for the poly package forwarder is only 2.1

will see how i can move to a new version

Hi @brocaar , if I may jump to this thread, I also have the latest version, running on docker, and I’m also noticing that dowlinks do not seem to be sent on the GUI.

Checking the logs on each container I see:


time="2021-09-06T17:13:10.282558144Z" level=info msg="integration/mqtt: downlink frame received" downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 gateway_id=d4adbdfffe9e0398
time="2021-09-06T17:13:10.283372708Z" level=debug msg="sending message to gateway" gateway_id=d4adbdfffe9e0398 message="{\"msgtype\":\"dnmsg\",\"DevEui\":\"01-01-01-01-01-01-01-01\",\"dC\":0,\"diid\":24860,\"pdu\":\"608c083400801d0002235883c3de5b01d7\",\"priority\":1,\"RxDelay\":1,\"RX1DR\":10,\"RX1Freq\":925700000,\"RX2DR\":8,\"RX2Freq\":923300000,\"xtime\":49258382795549804,\"rctx\":0}"
time="2021-09-06T17:13:10.284257576Z" level=info msg="backend/basicstation: downlink-frame message sent to gateway" downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 gateway_id=d4adbdfffe9e0398
time="2021-09-06T17:13:10.450538508Z" level=debug msg="[pinger]   ping check 0.484747259" module=mqtt
time="2021-09-06T17:13:10.811763084Z" level=debug msg="backend/basicstation: message received" gateway_id=d4adbdfffe9e0398 message="{\"msgtype\":\"dntxed\",\"seqno\":24860,\"diid\":24860,\"DR\":10,\"Freq\":925700000,\"DevEui\":\"01-01-01-01-01-01-01-01\",\"rctx\":0,\"xtime\":49258382796549804,\"txtime\":1471010.679144,\"gpstime\":0}"
time="2021-09-06T17:13:10.812988235Z" level=info msg="backend/basicstation: downlink transmitted message received" downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 gateway_id=d4adbdfffe9e0398
time="2021-09-06T17:13:10.813799737Z" level=info msg="integration/mqtt: publishing event" downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 event=ack qos=0 topic=gateway/d4adbdfffe9e0398/event/ack
time="2021-09-06T17:13:10.814559317Z" level=debug msg="[client]   enter Publish" module=mqtt
time="2021-09-06T17:13:10.814852183Z" level=debug msg="[client]   sending publish message, topic: gateway/d4adbdfffe9e0398/event/ack" module=mqtt


time="2021-09-06T17:13:10.278434929Z" level=info msg="gateway/mqtt: publishing gateway command" command=down downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 gateway_id=d4adbdfffe9e0398 qos=0 topic=gateway/d4adbdfffe9e0398/command/down
time="2021-09-06T17:13:10.285522222Z" level=info msg="device-session saved" ctx_id=611c6a3d-159b-4837-80ee-ab10db62dd94 dev_addr=0034088c dev_eui=a84041c87182b76c
time="2021-09-06T17:13:10.286704769Z" level=info msg="storage: downlink-frame saved" ctx_id=611c6a3d-159b-4837-80ee-ab10db62dd94 token=24860
time="2021-09-06T17:13:10.818311397Z" level=info msg="backend/gateway: downlink tx acknowledgement received" downlink_id=611c6a3d-159b-4837-80ee-ab10db62dd94 gateway_id=d4adbdfffe9e0398
time="2021-09-06T17:13:10.82033307Z" level=error msg="uplink: handle downlink tx ack error" ctx_id=611c6a3d-159b-4837-80ee-ab10db62dd94 error="length of ack items is not equal to length of downlink items" gateway_id=d4adbdfffe9e0398 token=24860

That last “length of ack items is not equal to length of downlink items” might be the cause? Any suggestion will be appreciated.


Update: I just tested back with the previous version and I have the same issue. Another changed I made besides the upgrade was moving the sensor to another location, I will review further.


I have found a fix for this, it will be released today.