PLS62: Any way to come back up automatically after an AT^SMSO? | Telit Cinterion IoT Developer Community
May 3, 2021 - 6:39pm, 1975 views
We're replacing (on very short notice) a custom board that had an EHS6 with a PLS62 terminal, but one feature we're losing from the old board is automatic power cycling. The only problem with that is that the customer was routinely sending AT^SMSO and allowing the hardware to bring it back up, at which point our Userware autostarts and puts things back to a 'normal' state. They don't have a way of power cycling it remotely and these things are deployed globally, so their currently deployed scripts will brick the terminal until they can fulfill a very expensive service call.
We're getting them to stop sending AT^SMSO for this terminal, but there's always a chance that they'll plop it into an outdated system and accidentally hose themselves. As a potential work-around, I periodically have the terminal setting alarms with AT+CALA at various increments from "now," and that usually works -- it just doesn't seem like a fool-proof method.
Is there a guaranteed way to get the module/userware to automatically start back up after an AT^SMSO?
If it is a terminal (orange box) there is a way. If the user application sends AT^SMSO and it can't be changed for instance to AT^CFUN=1,1 there are 2 ways:
- Connecting IGT_IN and PLUS in the power supply cable should ensure that the module will automatically restart after a normal shutdown using AT^SMSO. But I'm not sure if the PLS62-W terminals which are on the market already have this feature working.
- Using the hardware watchdog - this ***** to be configured once (on ASC0 interface at the low baudrate 1200bps).
WD=ALWAYS_ON,5000,5 //restarts the module 5000ms after shut down has been detected
WD=ON,1,1 //activates HW watchdog
For more information please refer to HW description document for the terminal.
Thank you, that might work perfectly!
The only problem right now is that the ALWAYS_ON Watchdog doesn't seem to trigger consistently. A couple of ti me s, it's seemed as though it wouldn't trigger while I stayed connected via terminal over RS232/ASC0. As soon as I disconnected, it came right back up. Other ti m es it never came back up regardless of my terminal activity, despite waiting for quite a bit longer than the timeouts of MIN_START_TIME + ALWAYS_ON.
Is that the expected behavior? Almost seems like something to do with SPOW, but that's been set to AT^SPOW=1,0,0
These are my WD setup commands, which were acknowledged with the double blink:
I've also been experimenting with 0 MIN_START_TIME, thinking that maybe the Watchdog timers hadn't started before I sent through an AT^SMSO, but that only works the first time too. The only consistent flow I've had so far is
Wait for many minutes -> Manual power cycle -> Wait for Userware to boot, shut down Userware -> AT^SMSO -> Module comes back online (the first time) -> Userware starts, shut it down -> AT^SMSO -> Doesn't come back up until manual power cycle
MIN_START_TIME is for something else. It prevents watchdog from restarting the module for a certain time after booting.
As for your observations please try to reset the watchdog with WD= DFT_VAL,1,1 and configure ALWAYS_ON parameter again, then activate the watchdog again. Maybe there was some strange configuration set by somebody before.
Thanks again! I've come to two unexpected conclusions after more testing:
It doesn't seem like either of those are supposed to be the case, so there must be something I'm doing wrong or have misconfigured?
Here are my manually recorded logs from the last several attempts, with timestamps on important markers. Note that "terminal" refers to the software I'm using to communicate with the device over the RS232 port:
I digged more into this and it turned out that the watchdog solution may also not be working on the older hardware. I tested with one terminal we have and both solutions did not work. The terminals currently produced have these features working. You'd have to make sure with your distributor as the older ones may also be on stock. I'm sorry for misleading you.
That stinks! Thank you so much for your help in all of this, though.
Do you know how I could find out which versions it would be working for?
I think that the best way is to ask your local technical sales. If I get any information I'll update here.