ABP device packets in gateway view but not arriving at application

We have the same problem.
4 sensor devices with LMIC firmware on ABP sending every 20 minutes, EU868 region.

In Gateways Live data I can see all packets.

On Application (device) side I can see only packets received on base frequencies (868.1, 868.3 and 868.5). All messages from other frequencies (868.7 - 867.5) are missing.

Not sure if it is connected with this issue, but also scheduled downlink message are not sent. I can see “Receive downlink data message” in Live Data in Application, but when uplink comes, downlink is never sent to device.

Are you sure the device is sending across all 8 freq? Also when setting up and registering in Device console did you add all the non-mandatory channels under ABP so LNS knows the device has them/will use them?

Yes, it is sending on all 8 freq. I can confirm that by looking at Gateway Live data. Filtering by DevAddr I see there all messages (on all channels), but in Application can see only 3 basic.

I’ve never needed to add each frequency manually, because it works on standard frequencies. Is that something new (I didn’t add any new devices in last 3-4 months)? Where should I do that?

EDIT: I see this issue was raised less then 2 years ago: The packages are lost between the gateway and the application in v3

Yep. It was introduced with V3 of TTN. So new as in default for the TTN version that has been running for two years…

In the device ‘General setting’, ‘Network layer’, click ‘advanced settings’ and use the ‘Add frequency’ button to add the 5 other frequencies. You may need to reset both the device and the session (‘Reset session and MAC state’ button just above ‘advanced settings’) for it to start working.

1 Like

In my LoRaWAN MAC layer implementation, I start with the 3 default channels. (EU-868)
Then the LNS sends 5 newChannelRequests to enable the remaining 5 channels.
According to the L2 1.0.4 standard, you may use those channels immediately (line 1159). So the next uplink can already use those channels, even if the newChannelAnswer has not yet been sent…

Maybe the LNS only accepts traffic on channels after the newChannelAnswer was received.

I changed my code to send MAC stuff on a (random) channel of the default 3 channels, and now the LNS is no longer dropping packets. All uplinks without MAC stuff (ie. the majority) use a random channel among all enabled channels.