The frames log shows what your gateways heard and what the network server did with it: joins, uplinks, downlinks, and dropped frames with the reason. It is the first place to look when a device does not show data.
Open it
- Open Devices.
- Open the ⋯ menu and select LoRaWAN frames.
The Frames log drawer shows the latest 200 frames of your organisation, newest first, and reads them again every 5 seconds while it is open. Select a device name to open its LoRaWAN tab.
The same table appears on a device’s LoRaWAN tab (its own frames) and on a gateway’s tab (Frames this gateway heard).
You need the permission to view the live LoRaWAN frames (users by default).
How long frames are kept
The log is short on purpose: the last day, at most 1,000 frames per organisation. It is not stored in the database and is not exported. When nothing was heard, the table says No frames in the last day. Frames appear here as soon as a gateway hears one of your devices.
To keep signal history, keep the lora.* radio keys in your device messages and let your root flow save them.
Columns
| Column | Shows |
|---|---|
| Time | When the frame was handled |
| Frame | The frame type (see below) |
| Device | The device name, else its DevEUI, else the DevAddr in grey (a frame no device of yours could be matched to) |
| FCnt | The frame counter |
| FPort | The application port. 0 means MAC commands only. |
| DR / MHz | Data rate and frequency, for example DR5 · 868.1 |
| Gateways | How many gateways heard it, with the best RSSI and SNR: 2 · best -97 dBm / 7.5 dB |
| Result | What happened (see below) |
Search finds device names, DevEUIs, DevAddrs and result words. Filter by Frame and by Result. Sort by time, FCnt or FPort.
Frame types
| Type | Meaning |
|---|---|
| Uplink | An unconfirmed data frame from a device |
| Confirmed uplink | A data frame the device wants acknowledged |
| Join request | An OTAA device asking to join |
| Join accept | The network server’s answer to a join |
| Downlink | A frame sent to a device: an acknowledgement, MAC commands or your data |
| Dropped | A data frame the network server refused |
Results
| Result | Meaning |
|---|---|
| Processed | Accepted and passed on |
| Sent via gateway (RX1 / RX2 / RXC) | A downlink or join accept handed to that gateway in that window. RXC is a Class C downlink. |
| Retransmission | The device repeated its last confirmed uplink. It is acknowledged again but not delivered twice. |
| Drop reasons | Shown in red; see below |
Drop reasons
Data frames
| Shown as | Code | Meaning | What to check |
|---|---|---|---|
| Unknown device address | unknown_devaddr | No session of your devices uses this DevAddr. | An OTAA device that has not joined (or whose session was reset) must join. An ABP device: check its DevAddr. |
| A device of another network | foreign_tenant | The address belongs to another organisation’s device that your gateway heard. | Nothing; this is normal near other networks. |
| Integrity check failed | mic_failed | The frame’s MIC does not match the session key. | ABP: the NwkSKey differs from the device’s. OTAA: the device may run an old session; let it join again. |
| Replayed frame | replay | The frame counter did not move forward. | ABP device restarted its counters: Reset counters. Otherwise a replay attempt. |
| Frame counter jumped | fcnt_gap | The counter jumped by more than 16,384. | A device that lost its counter state. ABP: Reset counters. OTAA: let it join again. |
bad_mtype, malformed | — | Not a valid LoRaWAN uplink. | Usually radio noise or a non-LoRaWAN transmitter. |
Join requests
| Shown as | Code | Meaning |
|---|---|---|
| Unknown DevEUI | unknown_deveui | The DevEUI is not registered and no pairing window matched. |
| A device of another network | foreign_tenant | The DevEUI belongs to another organisation. |
| Wrong AppKey | join_mic_failed | The AppKey does not match the device’s. |
| DevNonce used before | devnonce_replay | Replay protection refused the DevNonce. |
| Being added by pairing mode | pairing_pending | A pairing window recognised the device and is adding it. Expected once per device. |
| Waiting for approval | pending_approval | Pairing added it; it waits for approval. |
| ABP device sent a join request | not_otaa | The device is registered as ABP but tries OTAA. |
join_eui_mismatch | — | The JoinEUI differs from the stored one. |
no_appkey | — | No AppKey is stored for the device. |
mac_version_not_supported | — | The device record has an unsupported LoRaWAN version. |
See Troubleshooting joins and Troubleshooting uplinks and downlinks.
Privacy between organisations
A dropped frame of another organisation’s device shows only its reason. Its address, DevEUI and owner are never shown to you.
Through the API
GET /tenant/<tenantId>/api/iot/lorawan/frames?deviceId=<id>&gatewayId=<id>&limit=200
limit is 1–1,000 (default 200). Both filters are optional. Each frame carries t, type, result, reason, deviceId, deviceName, devEui, devAddr, fCnt, fPort, dr, freq, gateways (gatewayId, eui, rssi, snr), chosenGatewayId, window and bytes where they apply, and the decoded values (decoded) of a processed uplink.

