SMS messages error CMS 350

I have a RM502Q-AE with the firmware version RM502QAEAAR11A04M4G

When I attempt to send an sms message with AT+CMGS"phone number" I recieve error CMS 350. I am not sure how to resolve this. I read other forum posts and it seemed to suggest a firmware update. I do not know if I am on the latest version.

Any help or suggestions would be appreciated.

Are you certain you’ve got the command syntax correct?

Please show us the full details of the command steps you’re using. By all means replace sensitive data with other characters.

Note I have internet access so I am connected.


AT+CSCA=“personal phone number” and I’ve also tried “AT+CSCA=”+316540951000" (verizon SMSC number)

AT+CMGS=“phone number”


I can’t vouch for the correct SMSC number for Verizon. But it’ll be whatever was set on the SIM when originally supplied.

What are your text-mode parameter settings? To read: AT+CSMP?

Do you get the a "+CMS ERROR: 350" result immediately after entering the AT+CMGS="nnnnnnnn" command, or is there a delay?

I’m not sure what the SIM was set to originally as I have had it for a long time.

+CSMP: 17, 167, 0 0

I have also tried setting my CSMP to 17,167,0,16

There is a delay before the error.

Should I attempt to upgrade the firmware?

That’s the default values, and should always work, other things being equal.

I take it you’re trying to send SMSs as flash messages there. I’ve always used a <dcs> value of 240 decimal to do that.

This suggests that you’ve got a syntax problem, or that the SIM is not permitted to send text messages.

Can you send the SIM to send SMSs from another device?

The correct syntax is AT+CMGS="nnnnnnnn"<CR>

There should be no <LF> character following the <CR>

Then wait for the > prompt (actually <CR><LF><greater_than><space>).

Then send the text terminated by a single <ctrl-Z> character, (with no <CR> or <LF>) after the <ctrl-Z>.

Certainly, but I’d be surprised if your problem involved such a bug.

What is the CR and LF?

I have entered that exact syntax. Is there something else that could be causing this?

It seems like it doesn’t recognize the SIM card in there.
I think it is because the SIM card is Verizon and they use multiple APNs. I’m not sure how to use more than one APN.

This is the Verizon sim card from my phone so it has the ability for SMS and phone calls.

<CR> is carriage return. It’s character 13 ASCII. You can generate it on a keyboard either by pressing the <enter> key, or as <ctrl-M>.

On a screen, it moves the cursor to the leftmost position on the current line.

It’s the AT command termination character.

<LF> is line feed. That’s character 10 ASCII. You can generate it on a keyboard by pressing <ctrl-J>.

On a screen, it moves the cursor down one line.

Other than the syntactic considerations I’ve raised, it’s possible that Verizon is using IMS for SMS transport, and your RM502N0GL isn’t configured for IMS.

What do these AT commands return:


How exactly are you sending your AT commands?

You really need to know about how you’re terminating those commands. Not to mention how you’re terminating the SMS payload string.

+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“”,0,0,0,0,““0
+CGDCONT: 2,“IPV4V6”,“vzwadmin”,“”,0,0,0,0,””,0
+CGDCONT: 3,“IPV4V6”,“vzwinternet”,“”,0,0,0,0,““0
+CGDCONT: 4,“IPV4V6”,“vzwapp”,“”,0,0,0,0,””,0
+CGDCONT: 5,“IPV4V6”,“vzwemergency”,“”,0,0,0,1,“0
+CGDCONT: 6,“IPV4V6”,“vzwclass6”,“”,0,0,0,0,”“,0
+CGDCONT: 7,“IPV4V6”,“vzwiotts”,“”,0,0,0,0,”",0

+QCFG: “ims”,0,0

+QMBNCFG: “List”,0,1,1,“CDMAless-Verizon”,0x0A010126,202206231
+QMBNCFG: “List”,1,0,0,“FirstNet”,0x0A015300,202106041
+QMBNCFG: “List”,2,0,0,“5G-ATT”,0x0A015700,202101151
+QMBNCFG: “List”,3,0,0,“ROW_Generic_3GPP_PTCRB_GCF”,0x0A01FB09,202102071
+QMBNCFG: “List”,4,0,0,“Rogers_Canada”,0x0A014800,202101151
+QMBNCFG: “List”,5,0,0,“Bell_Canada”,0x0A014700,202101151
+QMBNCFG: “List”,6,0,0,“Telus-Do_Jasper”,0x0A01F901,202111221
+QMBNCFG: “List”,7,0,0,“Telus-Do_Consumer”,0x0A014901,202111221
+QMBNCFG: “List”,8,0,0,“Commercial-Sprint”,0x0A010204,202101151
+QMBNCFG: “List”,9,0,0,“Commercial-TMO”,0x0A01050F,202112031
+QMBNCFG: “List”,10,0,0,“VoLTE-ATT”,0x0A010335,202101151
+QMBNCFG: “List”,11,0,0,“Telia_Sweden”,0x0A012400,202101151
+QMBNCFG: “List”,12,0,0,“TIM_Italy_Commercial”,0x0A012B00,202101151
+QMBNCFG: “List”,13,0,0,“France-Commercial-Orange”,0x0A010B21,202101151
+QMBNCFG: “List”,14,0,0,“Commercial-DT-VOLTE”,0x0A011F1F,202108201
+QMBNCFG: “List”,15,0,0,“Germany-VoLTE-Vodafone”,0x0A010449,202101151
+QMBNCFG: “List”,16,0,0,“UK-VoLTE-Vodafone”,0x0A010426,202101151
+QMBNCFG: “List”,17,0,0,“Commercial-EE”,0x0A01220B,202101151
+QMBNCFG: “List”,18,0,0,“Optus_Australia_Commercial”,0x0A014400,202101151
+QMBNCFG: “List”,19,0,0,“Telstra_Australia_Commercial”,0x0A010F00,202111231
+QMBNCFG: “List”,20,0,0,“Commercial-LGU”,0x0A012608,202206021
+QMBNCFG: “List”,21,0,0,“Commercial-KT”,0x0A01280B,202206021
+QMBNCFG: “List”,22,0,0,“Commercial-SKT”,0x0A01270A,202206021
+QMBNCFG: “List”,23,0,0,“Commercial-Reliance”,0x0A011B0C,202210211
+QMBNCFG: “List”,24,0,0,“Commercial-SBM”,0x0A011C0B,202101151
+QMBNCFG: “List”,25,0,0,“Commercial-KDDI”,0x0A010709,202101151
+QMBNCFG: “List”,26,0,0,“Commercial-DCM”,0x0A010D0D,202101151
+QMBNCFG: “List”,27,0,0,“VoLTE-CU”,0x0A011561,202101151
+QMBNCFG: “List”,28,0,0,“VoLTE_OPNMKT_CT”,0x0A0113E0,202101151
+QMBNCFG: “List”,29,0,0,“Volte_OpenMkt-Commercial-CMCC”,0x0A012010,202101151
+QMBNCFG: “List”,30,0,0,“ROW_Commercial”,0x0A010809,202201041

$QCPDPIMSCFGE: 1 , 1 , 0 , 0
$QCPDPIMSCFGE: 2 , 0 , 0 , 0
$QCPDPIMSCFGE: 3 , 0 , 0 , 0
$QCPDPIMSCFGE: 4 , 0 , 0 , 0
$QCPDPIMSCFGE: 5 , 1 , 0 , 0
$QCPDPIMSCFGE: 6 , 0 , 0 , 0
$QCPDPIMSCFGE: 7 , 0 , 0 , 0

+CSCA: “+316540951000”,145

AT+CMGS=“+1(areacode)(rest of phone number)” (ENTER KEY)

nnnnnnnnnnnnnnnnnnnn (CTRL Z)

Verizon does have an IP called “vzwims”

I can’t seem to configure vzwims and vzwinternet at the same time though

Have you tried the command:


I’m not sure what put the APN “vzwinternet” into context 1. It won’t have been your active “CDMAless-Verizon” MBN file. That would have set context 1’s APN to “vzwims” when it first activated.

Verizon generally uses context 1 for IMS and context 3 for data. Are you forcing the modem to use context 1 for data?

Once you get context 1 configured for IMS, you might need these commands as well:


There may be issues we need to address along the way.

I set AT+CGDCONT=1,“IPV4V6”,“vzwims”

Then I checked AT+CGDCONT?
Same as before except the order is now
1 vzwims
2 vzwadmin
3 vzwinternet
4 vzwapp
5 vzwemergency
6 vzwclass6
7 vzwiotts

I can no longer see what I am typing and I do not have internet access.

It is repeating this over and over now:

Revision: RM502QAEAAR11A04M4G

+WS46: (12,22,25,28,29,30,31)



    +WS46: (12,22,25,28,29,30,31)

+CGDCONT: (1-42), “IP”,(0-3),(0-4),(0,1),(0,1),(0-1),(0-1),(0-1)
+CGDCONT: (1-42),“PPP”,(0-3),(0-4),(0-1),(0-1

+CMTI: , -1
+QLWURC: “bootstrap”,“failed”,100

a different yet repeating loop:

Revision: RM502QAEAAR11A04M4G

+WS46: (12,22,25,28,29,30,31)

+CSCS: (“IRA”, “GSM”, “UCS2”,)

(my imei number)


+CGDCONT: (1-42), “IP”,(0-3),(0-4),(0,1),(0,1),(0-1),(0-1),(0-1)
+CGDCONT: (1-42),“PPP”,(0-3),(0-4),(0-1),(0-1
+CFUN: 1

+CSIM: 4,“63C3”

+CSIM: 4, “63CA”

+CSIM: 4, “63CA”

(my imsi number)

+CRSM: 106, 130, " "

+CNUM: , “(my phone number)”, 145
+CLCK: (“AB”, “AC”, “AG”, “AI”, “AO”, “IR”, “OI” “OX”, “SC”, “FD”, “PN”, “PU”, “PP”, “PC”, ")

+CUSD: (0,2)

+QLWURC: “bootstrap”, “failed”, 100
+CNMI: (0-2), (0-3), (0-2), (0-2), (0-1)

+CMTI: , -1

I excluded the OKs for purpose of space except for those leading up to the ERROR
Please excuse if I made many typos I had to copy it by hand.

Any help is appreciated I am now more lost than ever.

I have been following this guide

5G LTE Cellular Connectivity (

I have been setting “YOUR_APN” to vzwinternet

When I go off of the default settings vzwims comes up first. When I check AT+QCFG=“ims” it now comes up
+QCFG: “ims”,1,0

I cannot see my text after I did the AT+CGCONT? command

AT+CEREG? returns 0,1 is this now linked to vzwims which is messing everything up and is why the internet works when vzwinternet is in slot 1?

From what you’ve said, it appears you’re using ModemManager to manage your connection, and ModemManager is using context 1 for data.

You have reported working Internet with context 1’s APN set to “vzwinternet”.

Your modem’s active MBN file is setting the modem up for Verizon’s standard configuration of using context 3 for data and context 1 for IMS. This is different from other providers in the US and elsewhere.

We may be able to run with ModemManager’s way of doing things by configuring context 3 for IMS. I don’t know if this will work. Living in Australia, I have no personal experience with Verizon. But I do have experience supporting US users on Verizon on another forum.

Please try these AT commands, and reboot the modem:


After rebooting, you should get IP addresses returned for both context 1 and for context 3, from the AT command:


The IP address against context 3 with context 3’s APN set to “vzwims” means IMS is active, and SMS over IMS should be viable.

Please see how that goes.

When I set vzwinternet net 1 and vzwims to 3, I am connected to the internet. (I also can no longer see what I’m typing)
However, when I do AT+CGPADDR I have an address for only 1 and 2.

Also not sure if this makes a difference, but I’m using minicom not ModemManager

Not seeing what you’re typing may be as simple as something having turned command echo off. See if the AT command ATE1 (echo on) fixes this.

If you’ve got ModemManager installed, it will be interfering with your modem, at least to some extent. It does that.

Let’s query some settings to make sure they’ve stuck:


AT+CGDCONT? is unchanged:
+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“”,0,0,0,0,““0
+CGDCONT: 2,“IPV4V6”,“vzwadmin”,“”,0,0,0,0,””,0
+CGDCONT: 3,“IPV4V6”,“vzwims”,“”,0,0,0,0,““0
+CGDCONT: 4,“IPV4V6”,“vzwapp”,“”,0,0,0,0,””,0
+CGDCONT: 5,“IPV4V6”,“vzwemergency”,“”,0,0,0,1,“0
+CGDCONT: 6,“IPV4V6”,“vzwclass6”,“”,0,0,0,0,”“,0
+CGDCONT: 7,“IPV4V6”,“vzwiotts”,“”,0,0,0,0,”",0

I have internet access from the start now and can see the text.

I have removed modemmanager.


$QCPDPDIMSCFGE: 1, 1, 0, 0
$QCPDPDIMSCFGE: 2, 0, 0, 0
$QCPDPDIMSCFGE: 3, 1, 0, 0
$QCPDPDIMSCFGE: 4, 0, 0, 0
$QCPDPDIMSCFGE: 5, 1, 0, 0
$QCPDPDIMSCFGE: 6, 0, 0, 0
$QCPDPDIMSCFGE: 7, 0, 0, 0