Stuck in "joining network" loop

Home Forums mDot/xDot Stuck in "joining network" loop

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #15093
    Andreas Zolliker
    Participant

    I have following problem:

    Somehow I set my joining-mode to auto-connect or something and now I have following loop in the Serial console:

    Joining network…
    Waiting 140 s before next join attempt

    Joining network… Network Join failed

    ERROR

    Joining network…
    Waiting 140 s before next join attempt
    Network Join failed

    ERROR

    Joining network… Network Join failed

    ERROR

    Joining network… Network Join failed

    ERROR

    Joining network…
    Waiting 4 s before next join attempt
    Network Join failed

    ERROR

    Joining network… Network Join failed

    And it goes on and on…

    I tried flashing following FW to the mDot, without any success:

    • mdot-firmware-1.0.8-1
    • mdot-firmware-mbed5.x-2.0.15
    • mDot_ABP_MTS_MDOT_F411RE (my test for sending to TTN)

    What can I do to get out of this loop?

    #15094
    Bryan Tran
    Moderator

    Hi Andreas Zolliker,

    Could you try to issue the command: +++ and see if it helps ?

    Thanks,

    BT

    #15095
    Andreas Zolliker
    Participant

    unfortunately I am not able to send any command since the console is blocked by the output of the loop…

    *edit:*
    I am using MobaXTerm to establish the serial connection

    • This reply was modified 7 years, 6 months ago by Andreas Zolliker. Reason: add info for terminal application
    #15234
    Andreas Zolliker
    Participant

    To me it seems as if the mDot memory does not get properly reset when updating the FW. Could it be, that some part of the memory is not cleared when flashing a FW, that does not use the whole capacity of the flash memory?

    #15237
    Jason Reiss
    Keymaster

    If you are not able to enter the escape sequence then you could make a firmware to either reset the device configuration and save or exit out of the AUTO_OTA mode.

    
    dot->resetConfig();
    dot->saveConfig();
    
    dot->setJoinMode(mDot::OTA);
    dot->saveConfig();
    • This reply was modified 7 years, 6 months ago by Jason Reiss.
    • This reply was modified 7 years, 6 months ago by Jason Reiss.
    • This reply was modified 7 years, 6 months ago by Jason Reiss.
    #15240
    Andreas Zolliker
    Participant

    Thx that helped indeed – but I had to use dot->saveConfig() to make it compile 😉

    #17279
    Robert Lengyel
    Participant

    Hello,

    Unfortunately, I’ve gotten this problem as well, but I cannot flash new firmware / custom firmware to fix this. Is there any other way to reset the device completely? I think the problem is with the AUTO OTA mode. I am unable to send any commands to the module; it is completely blocked. I’ve tried the nReset pin, but that did not work either.

    Any ideas?

    Robert

    #17290

    Hi Robert,

    Do you have the mDot or xDot? If you have the mDot and have access to the debug port, there is an easy way to clear settings. You just need to enter characters on the debug port, upon reset, to enter the boot loader. You will see:
    bootloader :>
    At that prompt type ‘delete lora.cfg’ but without the quotes. That will clear the configuration.

    Kind regards,
    Leon

    #17332
    Robert Lengyel
    Participant

    Hi Leon,

    I have the mDot surface mount, so I can definitely access the debug port as its on a PCB. However, I’ll solder on some wires to do so.

    Is this issue something that is known, ie, a bug in firmware? And if so, what specific commands / scenarios do I have to avoid in order to prevent this from happening. I’m hoping that the future modules will fix this problem.

    #17343

    Hi Robert,

    I’m assuming you are using our AT command firmware with +NJM=2 and +SMODE=1. It looks like escaping can be tricky. I want to dig into it a little more but from what I see there is a brief window of time, starting about 2s after reset, where you can issue a single ‘+’ to escape. Of course, that assumes you have control of the reset line. Otherwise, it appears you can issue ‘+++’ when it wakes during serial mode but the ‘+++’ can’t begin until it is awake and needs to be entered 1s before the +WD timer expires. So if you try it by hand, you need the timer set to 3000ms or so unless you are really quick.

    FYI, I tested with version 2.0.16 of our AT command code.

    Kind regards,
    Leon

    #17344

    Robert,

    One correction on that. After waking, it looks like there needs to be a 1s pause then +++ and a 1s pause after. So +WD would need to be at least 2s plus the time to send +++. The reason for the 1s before and after is so that is does not escape serial data mode with any +++ in the data stream. That said, I think the guard time should be much shorter than 1s.

    Kind regards,
    Leon

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.