Using a Gateway to catch a downlink, or some other way to determine the link quality?

Hello everyone,

I’m wondering would it be possible to modify one Gateway (Kerlink wirnet station) to receive a message from another (Multitech conduit) like a node would? I know that GWs do not hear each other by default, but is there a possibility to change this?

Reason for this is to try to get signal quality info for a downlink. As I understand it, the node is not aware of the link quality, just the GW measures that information (?). Since we have a situation where most of our uplinks gets to a GW, but many downlinks (mostly just ACK) aren’t received by a node, we’d like to test is the signal too weak to be picked up by the node, or is the culprit somewhere else.

1 Like

Just in case you didn’t know: that’s due to something called “inverted I/Q”, which I think is also covered in LoRa Crash Course by Thomas Telkamp. Setting something like, e.g., DISABLE_INVERT_IQ_ON_RX may make a gateway hear another gateway’s transmissions, but I don’t know if it will then actually forward the received packets.

This might help too, but I’ve not looked at the code:

1 Like

The node knows as well, assuming it received the downlink. Like LoRaWAN defines:

5.5 End-Device Status (DevStatusReq, DevStatusAns)

With the DevStatusReq command a network server may request status information from an end-device. The command has no payload. If a DevStatusReq is received by an end-device, it responds with a DevStatusAns command.

[…]

The battery level (Battery) reported is encoded as follows: […]

The margin (Margin) is the demodulation signal-to-noise ratio in dB rounded to the nearest integer value for the last successfully received DevStatusReq command. It is a signed integer of 6 bits with a minimum value of -32 and a maximum value of 31.

(And if a device wants to know how many gateways received its transmission, and how well, it can issue a LinkCheckReq.)

1 Like