WP7610 has a PDP context but no data usage

We use both the WP7607 (EU) modem and the WP7610 (US) modem. The modems are part of an industrial computer which are installed in aviation ground support machines. These machines are sold world-wide.
The computer runs on Debian Linux ‘Stretch’ 9.13 and uses ppp to establish a communication.
We use EMnify as our SIM card provider for all our devices, including EU and US territories as EMnify works globally.

For clarification; the WP7607 (EU) modem does not work on the north-american continent as the modem does not support these frequency bands there. Hence we use the WP7610 (US) modem for USA/Canada countries.

The WP7607 (EU) modem works flawlessly (on the european continent), but the WP7610 (US) modem does not work (on the north-american continent). Besides the actual modem, everything is exactly the same (same OS, same configuration, setup, etc. down to the modem ppp / chatscripts).

We can see that the US devices create a PDP context but we can not communicate with the devices (no data usage). ‘ping’ does work, but HTTP(S)/SSH does not work.

Since we cannot access those devices (only over the mobile data connection which does not work) and we work in Europe, we have created a test setup in Canada. For a long time it also created a PDP context, but there was not data usage. At some point we tried the SIM card in an ordinary cellular mobile phone to check if the SIM card was the issue; if was not. The phone happily consumed data.

When putting the SIM card back into the device (with the WP7610 modem), it was now suddenly possible to communicate with the device; there was suddenly data usage.

I was flabbergasted!
Why does this test device now work.
Why do the other devices still not work?
And how can we fix them (without having to put the SIM card first in a cellular phone)???

Looking forward to your replies.

Have you compared the ip address obtained?

Does it work after power cycle?
Does it work if switching to sim slot 2 and back to sim slot 1 by at!uims command?

Thank you for your reply.
I wish we obtained an IP address; unfortenately the ppp daemon never receives an IP address, although it tries to.

We use the standard chatscript provided by the OS / ppp:

# You can use this script unmodified to connect to cellular networks.
# The APN is specified in the peers file as the argument of the -T command
# line option of chat(8).

# For details about the AT commands involved please consult the relevant
# standard: 3GPP TS 27.007 - AT command set for User Equipment (UE).
# (http://www.3gpp.org/ftp/Specs/html-info/27007.htm)


# cease if the modem is not attached to the network yet

""		AT

# +CPIN provides the SIM card PIN
#OK		"AT+CPIN=1234"

# +CFUN may allow to configure the handset to limit operations to
# GPRS/EDGE/UMTS/etc to save power, but the arguments are not standard
# except for 1 which means "full functionality".

OK		AT+CGDCONT=1,"IP","\T","",0,0
OK		ATD*99#

The ppp daemon uses the following:

user "emnify"
connect "/usr/sbin/chat -e -t 45 -v -f /etc/chatscripts/gprs -v -T em"
maxfail 0
linkname EMnify
logfile /tmp/pppd.log
mtu 1430

The result is this:

Script /usr/sbin/chat -e -t 45 -v -f /etc/chatscripts/gprs -v -T em finished (pid 1890), status = 0x0
Serial connection established.
using channel 19
Using interface ppp1
Connect: ppp1 <--> /dev/ttyA6
sent [LCP ConfReq id=0x31 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0xb8 <asyncmap 0x0> <auth chap MD5> <magic 0xd64a423f> <pcomp> <accomp>]
sent [LCP ConfRej id=0xb8 <magic 0xd64a423f> <pcomp> <accomp>]
rcvd [LCP ConfAck id=0x31 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0xb9 <asyncmap 0x0> <auth chap MD5>]
sent [LCP ConfNak id=0xb9 <auth pap>]
rcvd [LCP ConfReq id=0xba <asyncmap 0x0> <auth pap>]
sent [LCP ConfAck id=0xba <asyncmap 0x0> <auth pap>]
sent [PAP AuthReq id=0x11 user="emnify" password=<hidden>]
rcvd [LCP DiscReq id=0xbb magic=0xd64a423f]
rcvd [PAP AuthAck id=0x11 ""]
PAP authentication succeeded
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x11 <addr> <ms-dns1> <ms-dns2>]
IPCP: timeout sending Config-Requests
sent [LCP TermReq id=0x32 "No network protocols running"]
sent [LCP TermReq id=0x33 "No network protocols running"]
Connection terminated.
Modem hangup

And this is what the result should look like (output of an EU modem):

Script /usr/sbin/chat -e -t 45 -v -f /etc/chatscripts/gprs -v -T em finished (pid 3582), status = 0x0
Serial connection established.
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/ttyA6
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x45d3932c> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0xc <asyncmap 0x0> <auth chap MD5> <magic 0xc7abadac> <pcomp> <accomp>]
sent [LCP ConfNak id=0xc <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x45d3932c> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0xd <asyncmap 0x0> <auth pap> <magic 0xc7abadac> <pcomp> <accomp>]
sent [LCP ConfAck id=0xd <asyncmap 0x0> <auth pap> <magic 0xc7abadac> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x45d3932c]
sent [PAP AuthReq id=0x1 user="emnify" password=<hidden>]
rcvd [LCP DiscReq id=0xe magic=0xc7abadac]
rcvd [LCP EchoRep id=0x0 magic=0xc7abadac 45 d3 93 2c]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr> <ms-dns1> <ms-dns2>]
rcvd [LCP ProtRej id=0xf 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfReq id=0x6]
sent [IPCP ConfNak id=0x6 <addr>]
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr> <ms-dns1> <ms-dns2>]
rcvd [IPCP ConfReq id=0x7]
sent [IPCP ConfAck id=0x7]
rcvd [IPCP ConfNak id=0x2 <addr> <ms-dns1> <ms-dns2>]
sent [IPCP ConfReq id=0x3 <addr> <ms-dns1> <ms-dns2>]
rcvd [IPCP ConfAck id=0x3 <addr> <ms-dns1> <ms-dns2>]
Could not determine remote IP address: defaulting to
replacing old default route to eth0 []
local  IP address
remote IP address
primary   DNS address
secondary DNS address
Script /etc/ppp/ip-up started (pid 3588)
Script /etc/ppp/ip-up finished (pid 3588), status = 0x0

We rebooted (also with power completely disconnected) multiple times, to no avail.

The ip address is not shown properly in the problematic case.

Does it work if switching to sim slot 2 and back to sim slot 1 by at!uims command?

We have frequently tried doing that, also with an additional SIM card in slot 2. But somehow we ended up seeing an unknown ICCID, which later turned out to be the eSIM.
But in all instances, this did not work…
Although… now you mentioning it… we’ve tried lots of things, swapping SIM cards, other slots, a bunch of AT commands, upgrading the OS and so on. And at some point the device did not recognize the SIM card anymore. We cleaned the contacts and it came back; but also it now had a good connection (IP address, data usage).

Do you think only by changing SIM card slot and back will solve this?
Can you eloborate a bit as why this might be a cause so that the root cause is understood better?

Thanks in advance.

I cannot explain your situation
But as you said, taking out sim card and inserting back to module can solve problem, it worths to give a try on switching sim slot by at!uims

Thanks for your help and input so far.
I will take another batch of SIM cards and send them out to the person having the US Test Setup and see what it brings me.

If there are others having similar problems or may be able to shed some light upon this… Please leave a message… Thanks in advance.