Verizon: SMS -or- DATA, but not both

RM521F-GL
RM521FGLEAR05A02M4G_01.200.01.200
Ethernet connected

NOTE: I have trimmed the AT command results to the pertinent rows

I can successfully configure the modem to either have internet data, or SMS, but need assistance to get both working at the same time.

Here is what I’ve done so far:


SMS works with default settings from MBN:“CDMAless-Verizon”, but no internet!

at+qmbncfg=“autosel”,1
at+cfun=1,1

at+qmbncfg=“list”
+qmbncfg: “List”,0,1,1,“CDMAless-Verizon”,0x0A010126,202209281
+qmbncfg: “List”,1,0,0,“ROW_Commercial”,0x0A010809,202305221

at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“vzwadmin”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 3,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0

at+cgact?
+CGACT: 1,1
+CGACT: 2,1
+CGACT: 3,0
NOTE: “vzwadmin” is WRONG apn, should be “vzwinternet”

at+cgpaddr
+CGPADDR: 1,“38.0.16.10.17.44.136.74.197.32.23.167.18.169.183.195”
+CGPADDR: 2,“10.135.115.214”,“38.0.16.10.241.7.1.230.0.0.0.69.9.88.105.1”
+CGPADDR: 3,“0.0.0.0”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”

at+cmgl=“ALL”
+CMGL: 0,“REC READ”, …
+CMGL: 1,“REC READ”, …
+CMGL: 2,“REC READ”, …

SUCCESS! SMS messages received.
BUT NO INTERNET, “vzwadmin” is WRONG apn, should be “vzwinternet”

at+cgact=1,3

at+cgact?
+CGACT: 1,1
+CGACT: 2,1
+CGACT: 3,1

at+cgpaddr
+CGPADDR: 1,“38.0.16.10.17.44.136.74.197.32.23.167.18.169.183.195”
+CGPADDR: 2,“10.135.115.214”,“38.0.16.10.241.7.1.230.0.0.0.69.9.88.105.1”
+CGPADDR: 3,“100.74.61.254”,“38.0.16.10.177.204.200.116.0.0.0.47.24.208.174.1”

NOTE: Now “vzwinternet” APN connected with IP, this is correct APN, but still no downstream internet!

at+cmgl=“ALL”
+CMGL: 0,“REC READ”, …
+CMGL: 1,“REC READ”, …
+CMGL: 2,“REC READ”, …
+CMGL: 3,“REC READ”, …

New SMS message, still works! But no internet!

at+cgact=0,2
ERROR
at+cfun=4
at+cgdcont=2
at+cfun=1
at+cgact=1,3

at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 3,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0

at+cgact?
+CGACT: 1,1
+CGACT: 3,1

at+cgpaddr
+CGPADDR: 1,“38.0.16.10.17.45.149.217.123.22.241.44.88.134.209.87”
+CGPADDR: 3,“100.81.83.104”,“38.0.16.10.177.203.37.126.0.0.0.9.87.1.185.1”

at+cmgl=“ALL”
+CMGL: 0,“REC READ”, …
+CMGL: 1,“REC READ”, …
+CMGL: 2,“REC READ”, …
+CMGL: 3,“REC READ”, …
+CMGL: 4,“REC READ”, …

New SMS, still works! No internet, but “vzwinternet” has IP…

How to force modem to use PDP #3 for downstream ethernet data?


OR Configure working internet, but no SMS!

at+qmbncfg=“autosel”,0
at+qmbncfg=“select”,“ROW_Commercial”
at+cfun=4
at+cgdcont=1,“IPV4V6”,“vzwinternet”
at+cgdcont=2,“IPV4V6”,“ims”
at+cfun=1
at+cgact=1,2

at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0

at+cgact?
+CGACT: 1,1
+CGACT: 2,1

at+cgpaddr
+CGPADDR: 1,“100.84.115.60”,“38.0.16.10.177.195.245.181.0.0.0.46.202.234.253.1”
+CGPADDR: 2,“38.0.16.10.17.47.131.2.135.207.113.95.73.82.102.64”

at+cmgl=“ALL”
+CMGL: 0,“REC READ”, …
+CMGL: 1,“REC READ”, …
+CMGL: 2,“REC READ”, …
+CMGL: 3,“REC READ”, …
+CMGL: 4,“REC READ”, …

NO NEW SMS messages… NOT working! But Internet works, both on-device and downstream ethernet!

What can I try to get either of these scenarios to work, with SMS and internet BOTH working? Thanks

Try setting the IMS APN to vzwims:

AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","vzwims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","vzwadmin","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","vzwinternet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","vzwapp","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","vzw800","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 6,"IPV4V6","vzwemergency","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1

Setting “vzwims” gets error when activating it:
at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“vzwims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
at+cgact=1,2
+CME ERROR: 100
at+cgpaddr
+CGPADDR: 1,“100.89.2.199”,“38.0.16.10.177.194.183.42.0.0.0.9.15.52.136.1”
+CGPADDR: 2,“0.0.0.0”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”

Setting “ims” gets an IP similar to the one that works with the default Verizon MBN, but does not get SMS messages:

at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
at+cgact=1,2
at+cgpaddr
+CGPADDR: 1,“100.117.45.113”,“38.0.16.10.177.228.164.11.0.0.0.12.72.175.188.1”
+CGPADDR: 2,“38.0.16.10.17.32.89.54.158.197.183.64.240.18.110.149”

Using the default Verizon MBN, “ims” is in the first CGDCONT slot and “vzwinternet” is in the 3rd slot, and SMS works with “ims” as the APN name. SMS messages are received OK. In all cases tried with “ims” as an APN and activating it, it will get an IP. But only the default MBN/CGDCONT config with “ims” in the first slot works for SMS.

There has to be a setting somewhere that directs DATA to the “standard” slot #1 APN that can be changed here to slot #3 due to Verizon’s weird choices. Or… ?

Verizon by default uses context 1 for IMS and context 3 for data.

But I’m not in the US, so I can’t experiment unfortunately.

Yes, you are correct, and thanks for giving me some things to try.

What I think the problem is comes down to which CGDCONT slot/APN the modem recognizes as the primary WAN (almost always the APN in slot#1), and which CGDCONT slot/APN is used for SMS, as well as any other SMS related configuration that is normally provided within the MBN files.

The default Verizon MBN has a working SMS configuration, but the modem does not seem to recognize any non-slot#1 APN as the WAN connection, even when the APN gets a valid IP.

Going the other way around, it is easy to get Data connection working by using different MBN and manually putting “vzwinternet” in slot#1. But SMS does not work even though it’s APN has an IP.

Does anyone have suggestions on things I can try to fix this?

Have a look at the result from the AT$QCPDPIMSCFGE? command.

The first argument in the result is the context ID, and the second concerns the IMS state.

Set the state to 1 for the context with the IMS APN. Eg:

AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","telstra.wap","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
+CGDCONT: 2,"IPV4V6","ims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0,,,,,,,,,"",,,,0
OK
AT$QCPDPIMSCFGE?
$QCPDPIMSCFGE: 1 , 0 , 0 , 0
$QCPDPIMSCFGE: 2 , 0 , 0 , 0
OK
AT$QCPDPIMSCFGE=2,1
OK
AT$QCPDPIMSCFGE?
$QCPDPIMSCFGE: 1 , 0 , 0 , 0
$QCPDPIMSCFGE: 2 , 1 , 0 , 0
OK

at+cgdcont?
+CGDCONT: 1,“IPV4V6”,“vzwinternet”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0
+CGDCONT: 2,“IPV4V6”,“ims”,“0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0”,0,0,0,0,“”,0

at$qcpdpimscfge?
$QCPDPIMSCFGE: 1,1,0,0
$QCPDPIMSCFGE: 2,0,0,0

at$qcpdpimscfge=2,1
at$qcpdpimscfge=1,0

at$qcpdpimscfge?
$QCPDPIMSCFGE: 1,0,0,0
$QCPDPIMSCFGE: 2,1,0,0

This did not work, tried with reboot. I also tried the same thing starting with refreshing the default Verizon MBN and modifying CGDCONT’s similar to my OP. Not successful.

I also compared non-working with working SMS, and following settings are all the identical:
at+csms?
at+csca?
at+cpms?

I think the “at$qcpdpimscfge?” change in configuration is incomplete, but probably on the right track, hopefully?

Dear @pipe2null
For verizon, the first PDP context is IMS, it can used for SMS. The third PDP context is for data, I saw you had got IP address, why did you think data didn’t work? Which feature did you test?

Yes, the default context APNs for Verizon are:

AT+CGDCONT?
+CGDCONT: 1,"IPV4V6","vzwims","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 2,"IPV4V6","vzwadmin","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 3,"IPV4V6","vzwinternet","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 4,"IPV4V6","vzwapp","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 5,"IPV4V6","vzw800","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,0
+CGDCONT: 6,"IPV4V6","vzwemergency","0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0",0,0,0,1

[quote="pipe2null, post:7, topic:39756"]
at$qcpdpimscfge?
$QCPDPIMSCFGE: 1,1,0,0
[/quote]

And that setting is correct for those APN assigmments, with "vzwims" being the IMS APN.

The default data APN is in context 3.

Thanks for the feedback

Yes, that is correct, but data only works when the data APN is in CGDCONT slot #1 using an alternate MBN, and I have only been able to get SMS to work using the default MBN which puts “ims” in slot #1. NOTE: Some people had “vzwims” instead of “ims” but I can confirm “ims” works for me when using the default MBN.

By “SMS not work”, I test if modem receives an SMS message.
By “Data not work”, I test if internet connectivity is available to downstream ethernet devices and what “Simple Admin” lists as the assigned data IPs. Connectivity check fails even when CGPADDR shows that slot #3 has been assigned a valid IP, the modem simply does not use IPs from slot #3 for data.

Using the default Verizon MBN, slot #1 “ims” or for other people 'vzwims" will connect, get IP, and SMS works. But the modem will attempt to connect to slot #2 “vzwadmin” and will get an IP, but this is the WRONG apn. I can force the modem to connect to slot #3 “vzwinternet” by deleting slot #2 and using CGACT=1,3 to activate slot #3, and this will get a valid IP, but the modem does NOT use this IP for Data.

This is with an RM521, so the MBN files may have problems, but any problems will not be fixed since RM521 is discontinued. Since data OR sms (but not both) can work, this SHOULD be a straight forward configuration issue.

So, I am trying to find out how to reconfigure modem to EITHER:
A) Use default MBN, but change unknown-to-me settings to force modem to treat slot#3 as Data for internet, which by default it uses whatever APN is in slot#1 even if slot #3 has valid IP
B) Use alternate MBN and manually set “vzwinternet” in slot #1, but change unknown-to-me settings to make SMS work in slot#2 “ims”

@snowgum Any other commands I should try? Or any specific reference PDF I should dig into more? (pet peeve that a 'comprehensive" AT command reference does not really exist, bits of incomplete info scattered all over the place). Or should I attempt digging into the embedded linux system? Not sure where to go from here. Thanks

Are you using QMI, MBIM or ECM to the modem? The command to read this:

AT+QCFG="usbnet"

The return value:

0 - QMI
1 - ECM
2 - MBIM

If you haven’t already, please give ECM mode a try with:

AT+QCFG="usbnet",1

followed by a hard reset like:

AT+QPOWD=0

ECM mode automates the getting and activation of a network connection, and maintains that connection.

It’s worth a try, although some modem and SIM combinations don’t seem to work in ECM mode.

It has been in ECM mode since day #1, been using Simple Admin to do AT commands from downstream. But I’ve had same issue prior to installing Simple Admin, so that part isn’t the problem. It’s just either getting SMS to work on a non-default-to-MBN APN slot, or getting the modem to use a non-#1-slot APN for network.

I can get an IP on a non-#1-APN slot for Data while ims/SMS is working in slot#1 using the default MBN, but can’t/don’t know how to get the modem to recognize and use a non-#1 slot for Data aka internet/upstream gateway.

Confirmed qcfg=“usbnet”,1 Thanks for the idea though.

Any idea how to specify which APN slot the modem uses for data/internet/up stream gateway/etc? The modem can get IPs, but it is not using them/doesn’t recognize for internet use (when APN is not explicitly slot #1, works fine when APN is slot #1).

I’m finally getting around to testing Verizon. Just as the OP says the default CDMAless_verizon pdp yields no data connection (No IP from AT+QMAP="WWAN") but SMS works.

I’ll poke and prod post success if I figure it out. will be trying it on the RM551E-GL though.

1 Like

I think the command we are looking for here is
AT+CGDATA="PPP",3

I still have more poking to do but I got Verizon working with Data+SMS and AutoSel 1

Having trouble replicating that on a 2nd 551 but will list the proper steps when I know for sure.

The problem

The default MBN profile CDMAless-Verizon is automatically selected when you insert a Verizon SIM; As long as you have MBN auto selection turned on AT+QMBNCFG="AutoSel",1. It does indeed set up the PDP contexts with the correct APNs and such, as detailed in the previous section. The first 2 PDP contexts automatically activate, and we can see this with the AT+CGACT? command. IMS and VZWADMIN activate but the 3rd (VZWINTERNET) which is what is used for the data call never does. You’d think simply running AT+CGACT=1,3 would be enough but it isn’t. That 3rd PDP context does activate and get an IP with that command, but a data call isn’t initiated with it.

The fix we already know

In the past to fix this we would:

  1. Disable automatic MBN selection AT+QMBNCFG="AutoSel",0
  2. Deactivate the currently selected profile with AT+QMBNCFG="deactivate"
  3. Then select the generic MBN profile AT+QMBNCFG="select","ROW_Commercial"
  4. From there, reboot, then manually set the VZWINTERNET APN in PDP context 1 with AT+CGDCONT=1,"IPV4V6","VZWINTERNET"
  5. Disconnect AT+CFUN=0 then reconnect AT+CFUN=0 and your up and running.
    The downside to doing this is SMS needs the IMS APN set to work, along with other important things that come with the Verizon MBN profile. I also noticed connection stability isn’t quite where it should be either.

How to make it work with the default MBN

As previously discussed, only the first 2 PDP contexts activate, and even when manually activating the 3rd one it doesn’t make a difference since the data call isn’t initiated with it.

While using an AP connection mode like ECM, RNDIS, or PCe RC I’ve discovered that you can use the AT+QMAP="mpdn_rule" command to set a data connection rule specifying what PDP context to use. When you send the command AT+QMAP="WWAN" it displays what the IPv4 and IPv6 addresses are for the active data call along with what PDP context it’s using for said data call.
For example:

AT+QMAP="WWAN"
+QMAP: "WWAN",1,1,"IPV4","your IPv4 address"
+QMAP: "WWAN",1,1,"IPV6","your IPv6 address"

The first value after WWAN indicates that it is connected with an IP address assignment (1 for connected with assignment, and 0 for not)

The second value indicates what PDP context is being used. In the example provided it’s using 1 like we normally would use.

Since for Verizon we need to make the data call happen with PDP context 3 we can use the command:

AT+QMAP="mpdn_rule",0,3,0,0,1

This means: Set Rule 0, using PDP context 3, using VLAN 0 (none), with no IP passthrough, and auto connect on. After sending this command PDP 3 automatically activate and the data call initiates using PDP context 3.

Afterwards we can see:

AT+QMAP="WWAN"
+QMAP: "WWAN",1,3,"IPV4","your IPv4 address here"
+QMAP: "WWAN",1,3,"IPV6","your IPv6 address here"

This solution gets both Data and SMS working! :grin:

As of The December 2024 firmware:

On the RM551E-GL (SDXPINN) I’ve noticed some strange issues with the QMAP command set.

:warning: :warning: Do not release the rule with AT+QMAP="mpdn_rule",0 and then reboot. :warning: :warning:

Simply releasing the rule will not set the data call to use PDP context 1 again, and rebooting after releasing the rule seems to break the ability to set it again. Flashing fresh firmware seems to be the only way to fix it when it enters this state.

Instead, release the rule

AT+QMAP="mpdn_rule",0

Then immediately set a new rule

AT+QMAP="mpdn_rule",0,1,0,0,1

That should make the the data call initiates with PDP context 1 again.

3 Likes