GSM Shield weired characters in SMS

Hi!

I ran though your instructions and could set QMGHEX to "0" (the values was already set).
The problem still stays the same. When sending an SMS with Arduino shield it is received in weird characters on my mobile.

Here is the logging in serial monitor of what I did (1234 masks my PIN)

Start Reset
End Reset
Ready for commands...
%-8%AT%13%%13%%10%
OK%13%%10%
AT%13%%13%%10%
OK%13%%10%
AT+QMGHEX?%13%%13%%10%
+QMGHEX: 0%13%%10%
%13%%10%
OK%13%%10%
AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CMGF=1%13%%13%%10%
OK%13%%10%
AT+QMGHEX=0%13%%13%%10%
OK%13%%10%
AT+QMGHEX?%13%%13%%10%
+QMGHEX: 0%13%%10%
%13%%10%
OK%13%%10%

Thank you very much for any new idea on how to solve that issue.
Musterstrasse!

Try restart modem to default manufacturer configuration with AT&F.

Hi!

Unfortunately no change in GSM shield behavior even after resetting.
The outbound SMS still do have cryptic characters on them.

Here is the output of the serial monitor when trying to reset:

Start Reset
End Reset
Ready for commands...
%-8%AT%13%%13%%10%
OK%13%%10%
AT&F%13%%13%%10%
OK%13%%10%

Any more ideas?

I also did activate debugging during sending the sms maybe that helps...

GSM gsmAccess(true);

Here is the output in serial monitor during sending

SMS Messages Sender
AT%13%
0 9>AT%13%%13%%10%OK%13%%10%
AT+CPIN=1234%13%
9 44>AT+CPIN=1234%13%%13%%10%+CPIN: READY%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
44 75>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
75 106>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
106 9>AT+CGREG?%13%%13%%10%+CGREG: 0,1%13%%10%%13%%10%OK%13%%10%
AT+IFC=1,1%13%
9 40>AT+IFC=1,1%13%%13%%10%OK%13%%10%%13%%10%Call Ready%13%%10%
AT+CMGF=1%13%
40 56>AT+CMGF=1%13%%13%%10%OK%13%%10%
AT+CLIP=1%13%
56 72>AT+CLIP=1%13%%13%%10%OK%13%%10%
ATE0%13%
72 83>ATE0%13%%13%%10%OK%13%%10%
AT+COLP=1%13%
83 89>%13%%10%OK%13%%10%
GSM initialized
Enter a mobile number: +4915112345678
Now, enter SMS content: SENDING

Message:
test
AT+CMGS="+4915112345678"%13%
89 93>%13%%10%> 
test%26%%13%
89 113>%13%%10%> %13%%10%+CMGS: 113%13%%10%%13%%10%OK%13%%10%

COMPLETE!

Enter a mobile number:

As a result I still receive message string "??" on my mobile. (sms content is "test")

To check if modem has a problem. Can you execute this commands and post response?

AT+GMM
AT+GMR
AT&V

hi!,

here is the output in serial monitor when I entered the 3 commands:

Start Reset
End Reset
Ready for commands...
%-8%AT%13%%13%%10%
OK%13%%10%
AT+GMM%13%%13%%10%
Quectel_M10%13%%10%
%13%%10%
OK%13%%10%
AT+GMR%13%%13%%10%
Revision: M10BR06A06N32%13%%10%
%13%%10%
OK%13%%10%
AT&V%13%%13%%10%
ACTIVE PROFILE%13%%10%
%13%%10%
E: 1%13%%10%
%13%%10%
Q: 0%13%%10%
%13%%10%
V: 1%13%%10%
%13%%10%
X: 4%13%%10%
%13%%10%
S0: 0%13%%10%
%13%%10%
S2: 43%13%%10%
%13%%10%
S3: 13%13%%10%
%10%
5%13%%13%:1%10%
%10%
CLGDR0%10%
+MB%10%
%13%%10%
CI 1+%13%%10%
 %10%
%10%
CAR8CIST %13%%10%
%10%
00%10%
%10%
CA %10%
%10%
%10%
++SME ,%13%%10%
,O21,EHEO,41%10%
+EHI)244EO:8%10%
%10%
QE%13%%13%%10%
%10%
SS0%10%
O%13%

Can you read anything unusual from that?
Thanks for your help!

Hi,

Sorry for late response,

Can you execute this commands and post response?

AT+CSCS?
AT+CSMP?
AT+CMGF?
AT+QSMSCODE?

Thanks!.

hi davidgoth,

i startet with AT+CPIN=1234 and entered my PIN in case that was needed...
here is what Arduino outputs to serial monitor:

Start Reset
End Reset
Ready for commands...
AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSCS? %13%%13%%10%
+CSCS: "GSM"%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP?%13%%13%%10%
+CSMP: 17,255,0,8%13%%10%
%13%%10%
OK%13%%10%
AT+CMGF? %13%%13%%10%
+CMGF: 0%13%%10%
%13%%10%
OK%13%%10%
AT+QSMSCODE?%13%%13%%10%
+QSMSCODE: 1%13%%10%
%13%%10%
OK%13%%10%

thanks for your feedback!

Hi!,

I find the “CSMP” not right due to this issue.
CSMP’s dcs setting is 8, which means this is in UCS2 coding, but the CSCS using “GSM” coding. Here is the conflict.

Just set AT+CSMP=17,255,0,0 first,then try to send SMS again..

If you have any doubt, reply this post.

hi,

I am glad that you still find new ways for me to try.
however even after following your instruction (see below) I am getting the same result (when sending "test" I am getting "??" as string within the sms).

any other ideas that i could try?
thanks a lot!!

Start commands...
Start Reset
End Reset
Ready for commands...
AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CMGF=1%13%%13%%10%
OK%13%%10%
AT+CSMP? %13%%13%%10%
+CSMP: 17,255,0,8%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP=17,255,0,0%13%%13%%10%
OK%13%%10%
AT+CSMP?%13%%13%%10%
+CSMP: 17,255,0,0%13%%10%
%13%%10%
OK%13%%10%

Try now changing character set to UCS2 with AT+CSCS="UCS2" and send any message. Post the results.

i followed your suggestion:

Start Reset
End Reset
Ready for commands...
%-8%AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSCS="UCS2"%13%%13%%10%
OK%13%%10%
AT+CSCS?%13%%13%%10%
+CSCS: "UCS2"%13%%10%
%13%%10%
OK%13%%10%

unfortunately there is no change in behavior.

message string "test" still leads to "??" when receiving the sms

any idea on how to fix that?

Hi,

Sorry, I forget to say you that you have to save CSCS configuration with AT&W.

1 - Change CSCS with: AT+CSCS="UCS2"
2 - Save with: AT&W
3 - Restart modem and check that it is saved with: AT+CSCS?
4 - Send SMS!!

Hi!

Your suggestion ("save" before restart) had some impact but not the desired one.
Here is the output that I gathered from serial output

Start Reset
End Reset
Ready for commands...
AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSCS="UCS2"%13%%13%%10%
OK%13%%10%
AT&W%13%%13%%10%
OK%13%%10%
Start Reset
End Reset
Ready for commands...
%-8%AT+CSCS?%13%%13%%10%
+CSCS: "UCS2"%13%%10%
%13%%10%
OK%13%%10%

Then I sent out some sample SMS via "send SMS" example code and got "completed" message.

SMSMS Messages Sender
GSM initialized
Enter a mobile number: +49151???????
Now, enter SMS content: SENDING

Message:
test

COMPLETE!

Unfortunately none of them arrived.

Then I changed back to GSM (AT+CSCS="GSM") and I got again the "old" erroneous behavior (receiving weird asian characters in the sms).

I also made sure that I followed your previous suggestion (AT+CSMP=17,255,0,0) but without any impact.

Any more ideas?

Check if AT+CSMP=17,255,0,8 and try again with AT+CSCS="UCS2" saving with AT&W.

If not working, try AT+CSMP to 17,71,0,0 and AT+CSCS="GSM".

hi!

First run with UCS2

Start Reset
End Reset
Ready for commands...
%-8%AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSMP=17,255,0,8%13%%13%%10%
OK%13%%10%
AT+CSCS="UCS2"%13%%13%%10%
OK%13%%10%
AT&W%13%%13%%10%
OK%13%%10%

With the settings above (UCS2) SMS do not go through at all (sample sms-send program gives COMPLETION message).

Now checking previous settings and then second run with GSM

Start Reset
End Reset
Ready for commands...
%-8%AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSMP?%13%%13%%10%
+CSMP: 17,255,0,8%13%%10%
%13%%10%
OK%13%%10%
AT+CSCS?%13%%13%%10%
+CSCS: "UCS2"%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP=17,71,0,0%13%%13%%10%
OK%13%%10%
AT+CSCS="GSM"%13%%13%%10%
OK%13%%10%
AT&W%13%%13%%10%
OK%13%%10%

SMS goes through with GSM but the show erroneous characters and are unreadable.

Do you have any other ideas?

Btw: Anybody else using GSM shield in Europe (especially Germany) with T-Mobile provider? I am interested in seeing what your settings are for
AT+CSCS? and AT+CSCS?

Thanks
Musterstrasse

Hi,

Try this AT commands sequence:

  1. AT+CSCA?

  2. AT+CSMP?

  3. AT+CSMP=17,255,0,0

  4. AT+CSAS=0

(Reboot your Arduino + shield)

  1. AT+CSMP? for check if 17,255,0,0 has been saved. If it done, send a SMS.

Hi davidgoth,

That was it. You fixed it.
I do now receive SMS in correct character set ("test" stays "test" on the receiving side).

Thanks a lot for taking care!

Best Regards,
Musterstrasse

P.S.: For anybody interested here is the output in serial monitor when following through your commands:

AT+CPIN=1234%13%%13%%10%
+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSCA?%13%%13%%10%
+CSCA: "+491710760000",145%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP?%13%%13%%10%
+CSMP: 17,255,0,8%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP=17,255,0,0%13%%13%%10%
OK%13%%10%
AT+CSAS=0%13%%13%%10%
OK%13%%10%
AT&W%13%%13%%10%
OK%13%%10%

musterstrasse:
Hi davidgoth,

That was it. You fixed it.
I do now receive SMS in correct character set ("test" stays "test" on the receiving side).

Thanks a lot for taking care!

Best Regards,
Musterstrasse

P.S.: For anybody interested here is the output in serial monitor when following through your commands:

AT+CPIN=1234%13%%13%%10%

+CPIN: READY%13%%10%
%13%%10%
OK%13%%10%
%13%%10%
Call Ready%13%%10%
AT+CSCA?%13%%13%%10%
+CSCA: "+491710760000",145%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP?%13%%13%%10%
+CSMP: 17,255,0,8%13%%10%
%13%%10%
OK%13%%10%
AT+CSMP=17,255,0,0%13%%13%%10%
OK%13%%10%
AT+CSAS=0%13%%13%%10%
OK%13%%10%
AT&W%13%%13%%10%
OK%13%%10%

Mr.Musterstrasse

Couldyou share the program code for sending SMS after fix it

( I have the same problem =( and I'm beginner in arduino )

Thanks :slight_smile:

Dear Nos-Al7arbi,

I am using the official "SendSMS Example" from Arduino.

See "http://arduino.cc/en/Tutorial/GSMExamplesSendSMS" and scroll down to the bottom.
This code along with the hint on how to change character set described in this post worked out for me.

Cheers,
Musterstrasse