Use System.reset() to avoid Electron to fall in Listening Mode after trying connecting to Cloud (cellular)?

Early this week I posted a post about using an electron in not good signal reception. Depends on the weather, something I have a 3g signal and sometime I can’t get connected (green flashing).

My problem is : If my Electron can’t connect to the cloud or get a cellular signal, after a long time, he become in Listening Mode (dark blue flashing) and I need to do a reset button.

To avoid Listening Mode, it’s a good way to use System.reset() after X minutes of try to connect ?

When answered, I’ll post another thread for using WeBoost signal and another in my setup :slight_smile:

Have you considered using this feature that was specificly added to remedy similar issues?
https://docs.particle.io/reference/firmware/electron/#setlistentimeout-

Closed issues in connection with this
https://github.com/particle-iot/firmware/issues/687
https://github.com/particle-iot/firmware/issues/1025

Thanks @ScruffR I just read it and look if declaring STARTUP(Cellular.setListenTimeout(0)); will help in my case to disabled the Listening Mode. Just seeing also, I need to upgrade from 0.6.0 to 0.6.1 my Electron to work.

No, you don’t want Cellular.setListenTimeout(0) as this would mean once the device enters Listening Mode (due to inability to make a connection - and you have excluded all other reasons for that) the device will stay in LM indefinetly.
Apparently you can’t prevent the device from entering Listening Mode but you can reduce the time the device will stick in that mode before dropping out - but not with 0.
BTW, the default 5 minutes are based on the fact that this is the default time any cellular device should allow for a connection to establish in case of weak signal strength.

However, I’d not just go for 0.6.1 but immediately move on to 0.6.4.

1 Like

Hmm ok. 5 minutes look ok to connect if I look my whole Electron fleet you right. In this case, let me explain in detail the problem.

I have a lot of Electron work perfectly and I use 2 electron inside a small camp where each camp use a booster signal. The first camp A use the weBoost (very expensive) https://goo.gl/JuPWmM and when turn on the Electron, I have a connection in less 1 minute (also I have cellular internet on my iPhone). The second camp B use this model (cheap) https://goo.gl/cb6oMP and I have problem to connect but I have cellular internet on my iPhone). In this camp, I was able to connect but is very difficult to keep a connection and that’s why the Electron fall in Listerning mode.

The Frequency Range of the second camp B antenna booster is Frequency Range:824-849MHz,869-894MHz,1710-1755MHz,2100-2155MHz

SARA-U260 Dual-band 850/1900
SARA-U270 Dual-band 900/1800

So the booster seem not compatible with Electron U260/U270 ?

So this the first I really understood the Listening mode on the Electron as I just now recently saw it a few times. I thought it stuck in Listening Mode once it entered it but now I know it only stays in that mode for 5 mins with default settings.

I don’t see what the benefit of the listening mode is on the Electron vs just keep trying to connect to the network.

Since I see no benefit for my applications for entering listening mode I guess setting the timeout to 1 second would only allow the Listening mode to be entered for 1 second only correct?

STARTUP(Cellular.setListenTimeout(1));
1 Like

I’m not certain whether 1 sec might not be too short as entering LM might already exceed that - but that’s pure assumption.
Give it a try and if it doesn’t help, do a binary search for the best value for you.

As for the rationale behind falling into LM is somewhere around the line that this would be a mode that prevents the device from attempting to establish a connection and suck up your data quota in no time.

5 seconds would work fine also, just don’t want it sitting in that mode for very long, I want a new connection trying to be established.

What could somebody do with the default 5min listening mode?

Is it just like taking a 5 min break between connections? Is that the whole point?

I’d think that’s something to ask Particle.
It might be some regulatory demand by cell providers or even just a gut decision along the line: “We have 5 minute connection timeout, so take the same number for the reconnect”, my guess is as good as yours :blush:

1 Like

Good enough for me :slight_smile:

As long as it’s adjustable I guess it doesn’t really matter.

If it’s a regulatory demand, you may need to ensure that your code won’t violate that - so it would be interesting to actually find out :wink:

@Will @Bdub Can you comment on this Listening Mode default timeout.

Cellphones do not take this 5 min timeout when trying to connect from my experience so I’m going to assume there is no regulatory demand but I could be wrong about that.

Hey there,

Unfortunately, I’ll need @bdub to chime in here – I don’t believe it is a regulatory requirement, though, and is designed to expose the serial interface of the device occasionally to look for a change of orders, rather than to continue endlessly connecting to the Cloud unsuccessfully (if the SIM card is missing, for example).