I followed up with Erik’'s approach, which was to load the Hologram Dadh pass-through sketch. It’s actually part of the “File > examples” that load with the hologram boards right into the Arduino IDE. That essentially opens up direct access to the modem via the usual AT commands. From there it was a matter of using ATE1 for echo to turn on commands, the. AT+CMGL to list the stored SMSes by index number. I then deleted the stored SMSes one at a time by AT+CMGD=[index]. Please check my syntax, the approach is right, but I’m doing this from memory as I’m not going to be near my dash for a couple of days. The SMSes deleted without issue, and the boards instantly returned to full functionality. It turns out that a couple of the SMSes were actually from me sending messages to the board, and a couple were from failed 0TA attempts. A real mixed bag.
Just got my Dash yesterday so treat me like a novice. I ran the hologram_dash_cloud sketch and it worked fine. I send tried sending a few SMS messages to my Dash and after awhile noticed that the board wasn’t responding. After consulting the community I stumbled across an issue where others noticed that the initialization of HologramCloud.attachHandlerSMS was hanging if there were previous SMS messages received in the modem. Taking a chance I loaded the hologram_dash_passthrough sketch and used the command ATE1, AT+CMGL and AT+CMGD=[index] where I tried numbers 1 through 9 for the index. When I went back to the hologram_dash_cloud sketch all was well!
That’s great, but could someone explain what happened and why this function should fail. How will I prevent my application was hanging in the future if an errant SMS message is received before I restart my sketch?
Hi, I moved your message in here because we’re discussing this exact issue. We’re looking into the problem and will hopefully have a fix out soon.
I just renamed the topic to cover this better
Makes sense. Thanks!
Update 5/30/17 - SMS Hangs Dash
Just worth a mention so everyone understands what may happen on their Dash when receiving messages:
Stored / unread / generally somehow-messed-up SMS messages can hang the Dash when running firmware 0.9.11. The source of the SMS’s can be a failed / hung-up OTA attempt, or (in my case this weekend) my very own SMS sent to device that was not correctly processed. In other words, the Dash may hang if you’ve tried to send it an SMS, even if you have not tried to program it over-the-air.
The solution is the same in both cases: Load the Dash Pass-through sketch (from Arduino > File > Examples > Dash Examples). This gives direct access to the modem via AT commands, and you can read and delete the SMS’s from there, which will free up your Dash to run normally again under 0.9.11.
Update 6/3/17 - Weak Cell Signal is Contributing Factor to SMS hangs.
I know the Hologram folks were working to duplicate the errors I’m seeing. It looks like (at least in my setup) weak cell reception is a major contributing factor. RSSI values of 10 or better work well, but much below that (5 - 8) and things go bad quickly. I don’t think I’ve ever had an issue when RSSI is 11 or greater. For what it’s worth…
FYI you can expect a release that fixes this next week. We have a fix but want to do a little more testing before posting it.
Is there some trick to getting the passthough sketch to work? I’ve used is successfully last week, but now, when I reset my Dash, all I get is +HHOLO: 2, If I enter ATE1, or AT+CMGL I get nothing. Any ideas on what I’m doing wrong?
A full power cycle never hurts… :-). Sounds to me like the IDE Serial Monitor and the Dash are not on speaking terms. On the other hand, you are seeing that return code, which tells me that some communication is getting through. Quickest test: Entering the command AT should return OK in the serial monitor, then you can move on to the other codes.
What baudrate do you have set? If I press reset on the Dash I can’t get the response at any baudrate I select, but I’m guessing only one is right for sending characters.
9600, with CR and LF. Seems to be the “standard” choice. I tried googling the code you’re getting, but came up empty. Sorry!
Here’s a fresh screenshot of my modem booting up (antenna attached!) on the Arduino > Files > Examples > Dash Examples > Hologram Dash Passthrough sketch.
Mac system. The code is from the modem coming on line and registering itself with the cellular towers.
Make sure your terminal is issuing line ending characters.
\r\n should both work. With minicom I need to add line endings in the settings.
Haha. That’s it! My terminal was set to “no line ending”. Thanks!
Yup, that’s the CR (carriage return) and LF (line feed) part of the Arduino IDE serial monitor. Old-school types remember typing \n and \r manually…
Posting that here so future modem-commanders in Arduino catch that as well.
We have a new version of our firmware available at http://downloads.hologram.io/dash/system_firmware/dash_system_module_firmware_0.9.12.bin if you want to manually install and try it out.
This should fix the issue that you’re seeing with SMS. We’ll be officially releasing this EOD tomorrow which will trigger the automatic update but we wanted to put it out here early in case anyone wants to try it first.
Thanks, Reuben. Downloaded and installed. So far, so good!
So, most of a day of testing 0.9.12 now in: Bombarding the Dash with SMS’s (while running code and outbound data) shows it to be thus far unbreakable (knocks on wood, throws salt over shoulder).
This in my [deliberately] weak cell phone area, no less. 0.9.11 would have almost certainly failed by now in identical circumstances.
That’s good news. Sounds like it’s resolved. We’ll be doing a full release very soon along with a new Arduino integration with some related improvements and a few new features.