Skip to content

Downlink gateway selection limitations #647

@sp193

Description

@sp193

Hi.

There are some limitations with the existing downlink gateway selection logic:

  1. If the good choices are missing in the most-recent uplink (e.g. due to collision), then only the bad choices are available until the next uplink. This is not good for Class C usecases, when there are many devices being addressed together.
  2. RSSI is not factored in. If there are poor choices near the node that are also obstructed, we can get high SNR, but poor RSSI.

I feel that we could consider the following changes:

  1. Select the downlink gateway, based on the performance across the uplink history. Ignoring gateways that are offline/removed. I realize that the uplink history doesn't save the EUIs of the gateways involved, so we need to make a change there.
  2. Factor in the RSSI in some way. I'm also not sure whether there's really a one-size-fits-all algorithm, so should we make it like ADR algorithm selection?

If there's no desire by Brocaar to implement these changes himself, I could provide possible patches. But I do have limitations because Rust has been hard for me to pick up, as a Java major. Therefore, I create this issue to open up discussion and to understand what's the level of desire for these changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions