Giter Site home page Giter Site logo

Comments (6)

cjhdev avatar cjhdev commented on July 18, 2024

I must confess I haven't seen this problem but then I don't have much experience with devices in the field.

It doesn't make sense to me that the server would mark a join request as already seen if it hasn't received confirmation that the device that it received the join accept. The confirmation being a data frame encrypted with the new session keys.

I looked up that line in the L2 spec. They talk about "Join Request" as well as "Join Request frames". Are they the same thing?

I'll have a look at TTN and see if I can reproduce what you are seeing.

edit:

Just noticed an email from another user having the same problem.

from lora_device_lib.

cjhdev avatar cjhdev commented on July 18, 2024

You are right, the standard requires DevNonce to increment for each frame.

The "Technical Recommendations for Preventing State Synchronization Issues" lays out the reasons for why, and offers a workaround for the problem of running out of DevNonce increments.

from lora_device_lib.

szemzoa avatar szemzoa commented on July 18, 2024

Hi,

It's not just an issue with TTN network, you are right, this is a problem on my Chirpstack based gw on my table, and I saw this Join problem with a Loriot server too. My very similar workaround works for me on both gateways.

from lora_device_lib.

cjhdev avatar cjhdev commented on July 18, 2024

I've reproduced the problem in the integration test suite. This uses the Ruby wrapper and a headless ChirpStack instance.

I am expediting a fix based on frbehrens proof of concept.

from lora_device_lib.

frbehrens avatar frbehrens commented on July 18, 2024

I am expediting a fix based on frbehrens proof of concept.

Thanks! Please note, that I did not consider the random choice of devNonce.

from lora_device_lib.

frbehrens avatar frbehrens commented on July 18, 2024

With d443a90 the problem is fixed.
Thanks! I'll close the issue.

from lora_device_lib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.