Stuck in "joining network" loop
Tagged: join network, loop, network join failed
- This topic has 10 replies, 5 voices, and was last updated 8 years, 2 months ago by
Leon Lindenfelser.
-
AuthorPosts
-
October 19, 2016 at 7:03 am #15093
Andreas Zolliker
ParticipantI 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 attemptJoining network… Network Join failed
ERROR
Joining network…
Waiting 140 s before next join attempt
Network Join failedERROR
Joining network… Network Join failed
ERROR
Joining network… Network Join failed
ERROR
Joining network…
Waiting 4 s before next join attempt
Network Join failedERROR
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?
October 19, 2016 at 9:03 am #15094Bryan Tran
ModeratorHi Andreas Zolliker,
Could you try to issue the command: +++ and see if it helps ?
Thanks,
BT
October 19, 2016 at 9:34 am #15095Andreas Zolliker
Participantunfortunately 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 8 years, 6 months ago by
Andreas Zolliker. Reason: add info for terminal application
November 2, 2016 at 5:36 am #15234Andreas Zolliker
ParticipantTo 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?
November 2, 2016 at 7:03 am #15237Jason Reiss
KeymasterIf 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 8 years, 6 months ago by
Jason Reiss.
-
This reply was modified 8 years, 6 months ago by
Jason Reiss.
-
This reply was modified 8 years, 6 months ago by
Jason Reiss.
November 2, 2016 at 7:42 am #15240Andreas Zolliker
ParticipantThx that helped indeed – but I had to use
dot->saveConfig()
to make it compile 😉February 16, 2017 at 5:59 pm #17279Robert Lengyel
ParticipantHello,
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
February 17, 2017 at 8:29 am #17290Leon Lindenfelser
ModeratorHi 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,
LeonFebruary 17, 2017 at 2:43 pm #17332Robert Lengyel
ParticipantHi 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.
February 17, 2017 at 3:53 pm #17343Leon Lindenfelser
ModeratorHi 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,
LeonFebruary 17, 2017 at 4:00 pm #17344Leon Lindenfelser
ModeratorRobert,
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 -
AuthorPosts
- You must be logged in to reply to this topic.