LMIC Downlink RSSI

Hey there. I’ve searched the internet and the LoRaWan Docs but haven’t found any further information.
So my question is, it is possible to get the RSSI (and optional SNR) of a downlink message?
I’ve looked into LMIC.rssi and LMIC.snr after a downlink message but those values doesn’t make sense in relation to “normal” RSSI and SNR values.

Thanks in advance.
Kind regard,

in LMIC in radio.c you find the following lines:

LMIC.snr = readReg(LORARegPktSnrValue); // SNR [dB] * 4
LMIC.rssi = readReg(LORARegPktRssiValue) - 125 + 64; // RSSI [dBm] (-196…+63)

I assume they mean that the value of 0 to 255 represents -196 to +63 dBm

In radio head https://github.com/PaulStoffregen/RadioHead/blob/master/RH_RF95.cpp at line 145 you find:

// Remember the RSSI of this packet
// this is according to the doc, but is it really correct?
// weakest receiveable signals are reported RSSI at about -66
_lastRssi = spiRead(RH_RF95_REG_1A_PKT_RSSI_VALUE) - 137;

So, the measured value by the RFM95 is -137 + register value.

Both seem not consitent to each other. Strange.

did anyone find a solution for this?

The RSSI definition in the SX1276 datasheet is different from the above two expressions.
See more information in the 5.5.5. RSSI and SNR in LoRaTM Mode, page 87 of datasheet

Do anyone have any further thoughts?

The calculation has changed and quite a bit, since the original datsheet, there has been no change in the hardware as far as I am aware.

Which definition is nearest reality, who knows.

It matters little in any case, as long as the same value is used by everyone.

true :sweat_smile:

Hi, I agree that it does not matter as long as everyone uses the same value. But many devices may use different hardware.

For example, I have a LoRa/GPS Shield, which has a SX1276 chip, and a RAK831 gateway. The end device remains stationary and transmits uplink confirmed frame. I notice that the RSSI of the uplink recorded at the gateway is different from the RSSI of the downlink ACK recorded at the end device.

Think of the complications of appying updates, to already installed nodes and gateways, each time the datasheets had changed …

If there was just one source of application firmware, that everyone in the TTN world was (forced?) to use, then such changes might be easier to manage.


Can you help me how do you get the RSSI of the downlink ACK recevied by device upon a confirmed Uplink from the device?

I am using the LMIC code on an SX1276 chip…