Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Using lower DR or SF/BW in OTAA Join

    Scheduled Pinned Locked Moved LoPy
    lopyotaajoin
    2 Posts 1 Posters 1.1k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      gandm
      last edited by gandm

      I am able to join a node to my nano gateway when it is configured to use a SF=7, BW=125 but when I config it to use SF=12 and BW=125 no join request is received.

      I don't seem to be able to configure a LoRaWAN OTAA join to use a datarate of 0 (sf12, bw=125). Someone else has mentioned this in another post Set join SF and the reasons why this should be configurable. Is there a chance this will be configurable?

      However looking at the code it would appear (maybe I'm wrong) that a join will cycle through various data rates 0-5 in a curious manner by doing a modulo on an incrementing value. If that is indeed the case then it should at some time use a DR0 (sf12, bw125) and the gateway should be joined. But it never seems to.

      I think these are the calls made by a OTAA join.

      Lora sends join cmd here
      puts it into FreeRTOS Queue here
      Queue request handled here which cycles until joined/timeout
      calls this code which increments a counter and then
      calls AlternateDataRate repeatedly which modulo against the counter using some strange divisors to get a DR

      If I'm correct, then this last step that calculates the DR of a join is almost always going to generate a DR5 and very little else.

      1 Reply Last reply Reply Quote 0
      • G Offline
        gandm
        last edited by

        OK This seems to be a restriction introduced by LoRa Alliance. It seems a join request uses AlternateDatarate() to cycle over datarates 0-5 in way that makes 5 dominant. See below for the first cycles. Doesn't explain why I can't join a nano gateway with a SF=12, BW=125.

        55555554 55555553 55555552 55555551 55555554 55555550 55555554 55555551 55555552 55555553 55555554 55555550 55555554 55555553 55555552 55555551 55555554 55555550 55555554 55555551 55555552

        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • First post
          Last post

        Pycom on Twitter

        Pycom