Skip to content

Join attempt in EU868 is permanently stuck at SF7 #315

@jezdd

Description

@jezdd

Using platform_packages = framework-arduinocubecell@https://github.com/HelTecAutomation/CubeCell-Arduino@1.7.0

LoRaWAN.join() hardcodes NbTrials = 1 AND resets JoinRequestTrials = 0 on every call
RegionEU868AlternateDr returns DR5 for trial 1 (the else default)
Combined effect: every join attempt in EU868 is permanently stuck at SF7 — the step-down to lower DRs (at trials 8, 16, 24, 32, 48) is unreachable

Region: EU868
Expected: first join attempt should use a conservative DR (or at least step down on retry)
Actual: always joins at DR5/SF7 regardless of retries
Root cause: JoinRequestTrials reset in LoRaMacMlmeRequest + NbTrials=1 in LoRaWAN.join() means RegionEU868AlternateDr is always called with NbTrials=1 → always returns DR5
Suggested fix: either change the else default in RegionEU868AlternateDr to DR0, or don't reset JoinRequestTrials between outer retry loops

Fix/workaround if you need it is still the one-line patch to RegionEU868.c line 915 — change datarate = DR_5 to datarate = DR_0 in the else branch. It's in the pinned framework version so it won't get overwritten unless you deliberately update.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions