Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arduino mkrNB 1500 send sms not working #50

Open
web-10 opened this issue Jun 22, 2020 · 47 comments
Open

Arduino mkrNB 1500 send sms not working #50

web-10 opened this issue Jun 22, 2020 · 47 comments

Comments

@web-10
Copy link

web-10 commented Jun 22, 2020

My new mkr nb 1500 cannot send sms is not working. But if the number to send the sms to has previously sent a message to the mkr 1500 than it works. It seems that the mkr 1500 remembers the path or so to send an sms if it previously has received one from the sender.

I use the example send sms provided by the Arduino editor version 1.8.12. Examples / examples from libraries / mkrNB / tools / send sms.

Receiving SMS works fine using the Examples / examples from libraries / mkrNB / tools / receiving sms: works fine of Arduino IDE 1.8.12. If I change the code of this sketch and write the same commandos to send an sms as in the "Examples / examples from libraries / mkrNB / tools / send sms". sketch, then the sms can be sent:
sms.beginSMS(senderNumber);
sms.print(txtMsg);
sms.endSMS();

@CptHolzschnauz
Copy link
Contributor

Do a firmware upgrade.

@lavignema
Copy link

I also had issues with the Ublox modem not functioning properly. Initially the problems were numerous but an upgrade of the FW on the modem solved those issues. My remaining problem is that when I use the ReceiveSMS.ino sketch provided by Arduino my received texts are truncated at character #40 which is the first character of the time stamp. My sketch never actually sees the text body and therefore cannot react to instructions sent via SMS. I've documented this to Arduino technical support in emails back in February of this year.

@CptHolzschnauz
Copy link
Contributor

Try with dezimals (ascii encoding)
Example for "S":

 smspeek = sms.peek();
      Serial.println(smspeek);
      if (smspeek == 83)
      {Serial. print("it's a S!");}

@lavignema
Copy link

lavignema commented Sep 2, 2021 via email

@CptHolzschnauz
Copy link
Contributor

No, i had the same issue with the mkrnb lib after a firmware update.

Keep IRA.
Don't trust the serial monitor with the AT console(in general), sometimes you see not everything even when it's in the buffer.
I think you want to identify a sms like they do in the sketch you mentioned.

Give it a try. With the call it's:

 if (sms.available())
{
smspeek = sms.peek();
      Serial.println(smspeek);
      if (smspeek == 83)
      {Serial. print("it's a S!");}
}

When you want to read out the sms, use:


while ((c = sms.read()) != -1) {
          Received_SMS += char(c);
        }
Serial.print(Received_SMS);

@lavignema
Copy link

lavignema commented Sep 2, 2021 via email

@CptHolzschnauz
Copy link
Contributor

We are talking about MKRNB thus SARA410, right? With the 1400 it's complete different.
I had the same issue here with mkr1500 (just one sms download from the net per start) but this was fixed with the new modem firmware.
It's not a Arduino or lib issue, nobody will fix something because there is nothing to fix, it's the modem which is a seperate MCU you can only communicate to over a serial AT console. The AT commands from the lib are correct.
Ergo:

  • Update to the latest modem firmware (You have to solder a USB cable to the MKR1500)
  • Try again. It works here with me so it must somehow with you.

@lavignema
Copy link

lavignema commented Sep 2, 2021 via email

@CptHolzschnauz
Copy link
Contributor

CptHolzschnauz commented Sep 2, 2021

This is what I was referring to in my last email to you.

Ok, got it cool. Have you done that with success?

That issue, I thought, would be addressed by Ublox but I have not seen another FW update for the R410M since.

There is. 05.12_A2.19. Check out https://forum.arduino.cc/t/firmware-upgrade-for-ublox-sara-r410m-02b-on-the-mkr-nb-1500-2/699292/25
From .08 to .12 you have to solder the USB cable.

That update solved the sms issue.

Are you saying that the issue of only getting a single SMS text per connection is no longer an issue for you since your FW upgrade?

.12 solved it

What version of FW are you running, and if different from what I’ve reported here, can you forward those files to me?

I think i'm not allowed. Check the post (see above) and you find it....

Either way, I can always implement your fix and parse my own SMS messages if necessary.

Update the firmware, solves other problems with AT&T in the U.S.

@CptHolzschnauz
Copy link
Contributor

PS: I suggested several time on https://forum.arduino.cc/t/mkr-1600-with-atsamd51-and-5g-alex-r5/898604
to bring out a MKR1600 with a SAMD51 and a R500 or Alex modem.

Soldering a R500 makes only sense when the I2S is connected, so only on a MKR1400.

Question: Have you ever soldered successfully a R500 on a MKR1400?

@lavignema
Copy link

lavignema commented Sep 2, 2021 via email

@CptHolzschnauz
Copy link
Contributor

@lavignema
Copy link

lavignema commented Sep 3, 2021 via email

@CptHolzschnauz
Copy link
Contributor

Hint: You may say to a friend visiting you in your house: Be my … !
You … software to your computer from the internet.
I'm pretty sure you get it ;=)

@lavignema

This comment was marked as off-topic.

@CptHolzschnauz
Copy link
Contributor

Cheers. Don't forget to close the issue.

@lavignema
Copy link

lavignema commented Sep 4, 2021 via email

@CptHolzschnauz
Copy link
Contributor

DIY. Stay cool. It's easy. I'ts not a consumer device. What if you argue with Microsoft the same way? It's not worth the hassle.
Have a good one!

@joshbober
Copy link

joshbober commented Sep 7, 2021

Chiming in because I have the same truncation issue that @lavignema reported above. My firmware is up to date (05.12), and I am able to receive the full SMS messages when I send AT commands through u-blox' app m-center (with SerialSARAPassthrough sketch loaded), but the ReceiveSMS.ino sketch fails for me in the same way.

It seems logical to me that this is a library issue; the modem is demonstrably able to receive and report received SMS messages via the +CMGL URC through m-center, so I know that messages are being received, stored and retrieved. I've been digging around the library trying to understand and seek a solution, but so far I have not found anything.

@lavignema
Copy link

lavignema commented Sep 7, 2021 via email

@joshbober
Copy link

joshbober commented Sep 7, 2021

MAL,

Below is the AT terminal output after doing a little testing for you. I have added comments to explain what each step means. I sent messages to my NB1500 using 2 different phones with different intervals in between. The NB1500 is connected to the Ting network (AT&T).

To directly answer one of your questions, my modem is receiving additional messages beyond the first one without any resets. To make this clear, I turned on the "New message indication" URC option. This sends a URC whenever a message is stored in the modem, without having to poll the modem.

This test was done using m-center, which I have had no problems with reading messages received- unlike ReceiveSMS.ino.

[16:41:45.116] AT+CMGF=1	// Set message format	
[16:41:45.131] OK
[16:41:45.131] 
[16:41:45.207] AT+CMGL="ALL"	// Refreshed message list
[16:41:45.222] OK
[16:41:45.222] 
[16:41:49.889] AT+CNMI=1,1		// Enable "new message indication" (URC that is sent when modem receives a new SMS)
[16:41:49.905] OK
[16:41:49.905] 
[16:41:49.981] AT+CNMI?
[16:41:49.997] +CNMI: 1,1,0,0,0
[16:41:49.997] OK
[16:41:49.997] 
[16:42:07.849] +CMTI: "ME",0	// URC: SMS received, stored in index 0
[16:42:31.224] AT+CMGF=1
[16:42:31.224] OK
[16:42:31.224]
[16:42:31.316] AT+CMGL="ALL"	// Refreshed message list, new message from phone 1 shown
[16:42:31.316] 
[16:42:31.331] +CMGL: 0,"REC UNREAD","+<<PHONE#1>>",,"21/09/07,13:42:07-28"
[16:42:31.331] Test 1
[16:42:31.331] 
[16:42:31.331] OK
[16:42:31.331] 
[16:42:40.974] +CMTI: "ME",1	// URC: SMS received, stored in index 1
[16:42:45.758] +CMTI: "ME",2	// URC: SMS received, stored in index 2
[16:42:45.774]
[16:42:48.460] AT+CMGF=1
[16:42:48.460] OK
[16:42:48.460]
[16:42:48.552] AT+CMGL="ALL"	// Refreshed message list, new messages from phone 2 shown
[16:42:48.552] 
[16:42:48.567] +CMGL: 0,"REC READ","+<<PHONE#1>>",,"21/09/07,13:42:07-28"
[16:42:48.567] Test 1
[16:42:48.567] +CMGL: 1,"REC UNREAD","+<<PHONE#2>>",,"21/09/07,13:42:40-28"
[16:42:48.582] Test 2
[16:42:48.582] +CMGL: 2,"REC UNREAD","+<<PHONE#2>>",,"21/09/07,13:42:45-28"
[16:42:48.582] Test 3
[16:42:48.582] 
[16:42:48.582] OK
[16:42:48.582]
[16:43:11.602] AT+CMGF=1
[16:43:11.602] OK
[16:43:11.602]
[16:43:11.694] AT+CMGL="ALL"	// Refreshed message list again, same messages stored shown as "read" now
[16:43:11.694] 
[16:43:11.694] +CMGL: 0,"REC READ","+<<PHONE#1>>",,"21/09/07,13:42:07-28"
[16:43:11.709] Test 1
[16:43:11.709] +CMGL: 1,"REC READ","+<<PHONE#2>>",,"21/09/07,13:42:40-28"
[16:43:11.709] Test 2
[16:43:11.709] +CMGL: 2,"REC READ","+<<PHONE#2>>",,"21/09/07,13:42:45-28"
[16:43:11.709] Test 3
[16:43:11.709] 
[16:43:11.709] OK
[16:43:11.709] 
[16:43:50.233] +CMTI: "ME",3	// URC: SMS received, stored in index 3
[16:43:50.248]
[16:43:53.735] AT+CMGF=1
[16:43:53.735] OK
[16:43:53.735]
[16:43:53.827] AT+CMGL="ALL"	// Refreshed message list again, new message from phone 1 shown
[16:43:53.827] 
[16:43:53.842] +CMGL: 0,"REC READ","+<<PHONE#1>>",,"21/09/07,13:42:07-28"
[16:43:53.842] Test 1
[16:43:53.842] +CMGL: 1,"REC READ","+<<PHONE#2>>",,"21/09/07,13:42:40-28"
[16:43:53.842] Test 2
[16:43:53.842] +CMGL: 2,"REC READ","+<<PHONE#2>>",,"21/09/07,13:42:45-28"
[16:43:53.858] Test 3
[16:43:53.858] +CMGL: 3,"REC UNREAD","+<<PHONE#1>>",,"21/09/07,13:43:48-28"
[16:43:53.858] Test 4
[16:43:53.858] 
[16:43:53.858] OK
[16:43:53.858]
[16:43:57.285] AT+CMGR=3	// Read message stored in index 3
[16:43:57.285] 
[16:43:57.285] +CMGR: "REC READ","+<<PHONE#1>>",,"21/09/07,13:43:48-28"
[16:43:57.285] Test 4
[16:43:57.285] 
[16:43:57.285] OK

@lavignema
Copy link

lavignema commented Sep 8, 2021 via email

@lavignema
Copy link

lavignema commented Sep 9, 2021 via email

@CptHolzschnauz
Copy link
Contributor

Oh no, merde! I guess you hadn't the rigth soldering iron? You need a narrow tip and then, most important, first of all bring some fresh solder or flux to the board, and after that with a presoldered cable holded at the place, a short shot of heat.
I hope that my instructions are understandable (Sorry, my english is not as it should be...).
Anyway, fresh solder (flux) on both ends is most important!
I think you gave to much heat because the old solder on the board did not melt right away?

Never give up, mate!

@lavignema
Copy link

lavignema commented Sep 10, 2021 via email

@CptHolzschnauz
Copy link
Contributor

;=)
I don't think you will get one with 5.12 out of the factory, they just solder the modem (delivered to them some time ago)to the board and that's it.
I already updated (soldered the USB cable) to four mkr1500, mostly with windows problems (as mentioned in the arduino forum) but with some help from above i made all of them. So if it's possible for me, it would be for you.
To be fair, the issuer of the problem is u-blox with their software (politics) and not arduino.
I blame arduino that they didn't connected the I2S pin because voice is possible with LTE-M1

Best regards

@lavignema
Copy link

lavignema commented Sep 10, 2021 via email

@CptHolzschnauz
Copy link
Contributor

Downgrade the SAMD21 core to 1.8.9 or 1.6.21 and try again. There is a problem with the buffer with MODEM in 1.8.11.
Best regards!

@lavignema
Copy link

lavignema commented Sep 20, 2021 via email

@lavignema
Copy link

lavignema commented Sep 21, 2021 via email

@CptHolzschnauz
Copy link
Contributor

CptHolzschnauz commented Sep 21, 2021

You have to power up the mkr over the "normal" USB, then connect the modem. If the Qualcomm driver is instelled it can be a weak cable, i had the same problem a week ago, a well looking USB cable was made connection, the USB device was recognized but the computer was not able to recognize what kind of device. Exchanged the cable - everything was fine.
Ergo: You can't tell from the outer look of a USB cable if it's trash.
Or you have a weak connection because of your construction?

@lavignema
Copy link

lavignema commented Sep 21, 2021 via email

@lavignema
Copy link

lavignema commented Sep 21, 2021 via email

@CptHolzschnauz
Copy link
Contributor

CptHolzschnauz commented Sep 21, 2021

https://forum.arduino.cc/t/firmware-upgrade-for-ublox-sara-r410m-02b-on-the-mkr-nb-1500-2/699292/15?u=intstarep
Intstarep is my alter ego ;=)
PS: About cable: Age is not the problem, weak quality (bad connectors, small diameters etc) is it

@lavignema
Copy link

lavignema commented Sep 29, 2021 via email

@CptHolzschnauz
Copy link
Contributor

Hi MAL
Good to hear. A weak USB cable can fool you a lot, i know best. Next time you don't need to solder and perform that DI6 switch thing. The difficult to solder connection near the pins and the GND are also absolete because this is just V+ and GND which can be connected via the normal MKR pins. So just the two big easy to solder connections are neccesary.
Have a good one!

@lavignema
Copy link

lavignema commented Sep 30, 2021 via email

@lavignema
Copy link

lavignema commented Oct 3, 2021 via email

@CptHolzschnauz
Copy link
Contributor

The whole world is listening!
Have you tried to send/receive a sms with the windows software from u-blox called m-center.exe?

@lavignema
Copy link

lavignema commented Oct 5, 2021 via email

@lavignema
Copy link

lavignema commented Oct 17, 2021 via email

@CptHolzschnauz
Copy link
Contributor

Puhh, i know that there are Verizon special cases coded in the firmware but i have no experience nor testing possibilities so i can't really help in this case. Check the u-blox AT-CommandsExamples_AppNote_(UBX-13001820).pdf from page 59 on.

@lavignema

This comment was marked as off-topic.

@TomWesthoff
Copy link

FYI - I found out recently that Verizon blocks incoming SMS from +882 numbers. AT&T and T-Mobile do not block. I am using Hologram.io SIM and their outgoing SMS come from +882 numbers. Trying to find another SIM provider who allows SMS and doesn't send SMS from an International Network.

International Networks is the name given by the International Telecommunication Union (ITU) to country calling codes +882 and +883, and serves as a catch-all for telephone services not dedicated to a single country. Satellite telephone carriers, especially those with worldwide service, are allocated within the Global Mobile Satellite System (GMSS), country code +881, with the exception of non-terrestrial Inmarsat, country code 870.

@lavignema
Copy link

lavignema commented Aug 25, 2023 via email

@TomWesthoff
Copy link

I can try to help, but looking at previous posts, you are way ahead of me, I think. I did recently have a good interaction with U-Blox support and am still sorting through what I learned and trying to come up with a good initialization sequence.
What brand SIM are you using? Are you having problems sending or receiving SMS, or both?
What modem firmware are you using? I'm at ..05.11, A.02.16.
I'm trying to get to the newer firmware but I'm confused as to which of the many methods talked about above is the easiest way to do it. Maybe you could help me with that?

Sorry for all of the questions, I just want to understand what your setup is. Happy to help if I can.

@lavignema
Copy link

lavignema commented Aug 30, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants