Can't publish data to device / device-queue item discarded due to timeout

I’m try to publish data to node device

this is data packet
{
“reference”: “12”,
“confirmed”: true,
“fPort”: 1,
“data”: “aGk=”
}

after i’m publish i got log from appserver like this

appserver_1 | time=“2018-07-03T02:35:34Z” level=info msg=“finished client unary call” grpc.code=OK grpc.method=CreateDeviceQueueItem grpc.service=ns.NetworkServer grpc.time_ms=17.343 span.kind=client system=grpc
appserver_1 | time=“2018-07-03T02:35:34Z” level=info msg=“downlink device-queue item handled” confirmed=true dev_eui=1234567812345678 f_cnt=189 reference=12

but it not works i got log from loraserver like this
loraserver_1 | time=“2018-07-03T02:39:08Z” level=warning msg=“device-queue item discarded due to timeout” dev_eui=1234567812345678 device_queue_item_fcnt=189

and ack packet in live event logs like this
06

i think data not forward to device, can you point me to fix it.

note: i think my arduino code on device node it’s work because i used to try to send downlink by ttn then it’s work. device node can receive packet.

On wich topic are you publishing the message?

Also important to know, is this Class A / B / or C (please check your device-profile of one of these have been enabled)? In case of Class B and C you have to set a timeout for the confirmed data after which the confirmed downlink will be discarded (which is happening in your case). The device has to respond within that timeout with an ACK.

topic : application/1/device/1234567812345678/tx

correct or not

i set time out value = 120 sec but i get acknowledged = false

Could you let us know?

i config device profile to support class b and class c at lora-app-server.

12

Please note that there is no device that operates in both Class-B and Class-C. Are you sure that your device supports one of them (B or C)? If not then you must uncheck both boxes.

class depend on device or depend on code that control properties ? i try to find class of “Dragino LoRa Shield 868 MHz” but not found. if it depend on code, how to set properties of device for each class.

** sorry, if i have a lot of questions, i’m not good in coding but i will practice myself.

In the device-profile you define the capabilities of the device. A device must support Class-A. If you device supports Class-B or Class-C depends on your device firmware. My guess is that your device only supports Class-A and you must uncheck both boxes in the device-profile.

i have already uncheck both boxes but still can’t send downlink. got warning msg as same as the past.

Did you try to re-activate your device?

yes, i do but not works.