[MC7455] Can't dial PPP

Hello,

I am trying to get an MC7455 to work as a PPP interface on Linux. I have several other modems (Huawei, Telit) and they all work. The MC7455 doesn’t seem to. Some facts:

  • Firmware SWI9X30C_02.24.05.06, PRI 002.026_000.

  • I am able to talk with the modem and issue AT commands.

  • My AT!USBCOMP? is 50D.

  • Using known good T-Mobile & Verizon SIMs, my SIM interface is working.

  • Antenna setup should be good. We get 18,99 for AT+CSQ?

  • My APN is set up properly.

When I attempt to issue the dial command I just get ERROR. When I attempt to use AT!SCACT=1,1 (profile #1 has my APN) I get +CME ERROR: no network service

Is there anything obvious I’m doing wrong? I do have AT+CMEE=2 and yet I still just get ERROR when dialing.

ati
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.24.05.06 r7040 CARMD-EV-FRMWR2 2017/05/19 06:23:09
MEID: XXXXXXXXXXXXXX
IMEI: XXXXXXXXXXXXXXX
IMEI SV: 12
FSN: LQ73XXXXXXXXXX
+GCAP: +CGSM


OK
at!gstatus?
!GSTATUS:
Current Time:  48		Temperature: 28
Reset Counter: 5		Mode:        ONLINE
System mode:   LTE        	PS state:    Attached
LTE band:      B13    		LTE bw:      10 MHz
LTE Rx chan:   5230		LTE Tx chan: 23230
LTE CA state:  NOT ASSIGNED
EMM state:     Registered     	Normal Service
RRC state:     RRC Idle
IMS reg state: No Srv

PCC RxM RSSI:  -75		RSRP (dBm):  -105
PCC RxD RSSI:  -100		RSRP (dBm):  -140
Tx Power:      0		TAC:         9200 (37376)
RSRQ (dB):     -12.8		Cell ID:     023B7D03 (37453059)
SINR (dB):      0.6


OK
at+creg?
+CREG: 0,3

OK
at+csq
+csq: 18,99

OK
at+cpin?
+CPIN: READY

OK
at+cops=?
+cops: (2,"Verizon Wireless","VZW","311480",7),(1,"Sprint","Sprint","310120",7),(3,"T-Mobile","T-Mobile","310260",7),(1,"AT&T","AT&T","310410",2),(1,"AT&T","AT&T","310410",7),(1,"310 830","310 830","310830",7),,(0,1,2,3,4),(0,1,2)

OK
at+cops?
+cops: 0,0,"Verizon Wireless",7

OK
atdt*99#
ERROR
at+cgdata="PPP",1
ERROR

I should mention just for sanity’s sake I tried using the MBIM interface. So I switched out my interface to MBIM:

AT!USBCOMP=1,1,100D

I built the latest stable release of qmicli with the latest stable release of libmbim linked in. Then I put a known working T-Mobile SIM (works with all my other modems) in and I got:

# qmicli -d /dev/cdc-wdm0 --nas-get-system-info
[/dev/cdc-wdm0] Successfully got system info:
	WCDMA service:
		Status: 'none'
		True Status: 'none'
		Preferred data path: 'no'
	LTE service:
		Status: 'available'
		True Status: 'available'
		Preferred data path: 'no'
		Domain: 'cs-ps'
		Service capability: 'cs-ps'
		Roaming status: 'off'
		Forbidden: 'no'
		Cell ID: '16118551'
		MCC: '310'
		MNC: '260'
		Tracking Area Code: '33172'
		Voice support: 'no'
		eMBMS coverage info support: 'no'
	SIM reject info: 'available'

# qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
[/dev/cdc-wdm0] Successfully got signal info
LTE:
	RSSI: '-74 dBm'
	RSRQ: '-13 dB'
	RSRP: '-101 dBm'
	SNR: '2.4 dB'

# qmicli -d /dev/cdc-wdm0 --wds-start-network=apn=fast.t-mobile.com --client-no-release-cid
error: couldn't start network: QMI protocol error (14): 'CallFailed'
call end reason (12): (null)
verbose call end reason (0,0): [(null)] (null)

Sadly I can’t find any documentation on what call end reason #12 is! I see it says there is SIM reject info available but yet when looking at network registration it clearly detects the carrier for the inserted SIM.

I am starting to think I got a bad batch of MC7455s. Or somehow these modules are carrier locked right out of the anti-static bag?

You don’t have uqmi or umbim installed while trying to use libmbim or libqmi do you? I think they interfere with each other. The simple approach for me was to just install modemmanager. If you are using kernel 4.9 or greater use qmi mode. If using 4.8 or less use mbim mode. The reason being is that raw ip is not supported in qmi until 4.9 kernel. Qmi mode will work on lesser than 4.9 but it will set it up as a PPP connection. I would avoid that personally as it limits speeds to 25 mbps.

This is an embedded board with a completely custom user space created by us. We are certain this is the only communication with the modem. We don’t want to use MBIM or QMI if we can help it. The problem is the modem won’t connect using any method. It gives a failure and RRC never gets out of the idle state.

Something like ModemManager with a user interface is pretty useless to us. We have a bunch of autonomous logic to handle connectivity and we already have a layer that issues AT commands; which is why we would like to keep that. But given that all 3 interfaces in this modem fail to connect the same way I don’t think it’s the interface at all.

Our application requires very, very low bandwidth (under 10kbps). We have no interest in high performance. We do need to support LTE as carriers are planning to phase out their 2G and 3G networks. We do have these devices in very far off remote areas and upgrading them physically is a problem, hence the attempts to move away from our working GPRS solution to LTE.

I should mention we’ve also tried an AT&T SIM that is known working in several other modems in this one: same results. The RRC always goes idle. Is there no way to get the reject reason codes out of this modem?

Hi,

have you checked if there is an old/wrong apn stored in the modem

AT+CGDCONT?

if yes you need to remove via

AT+CGDCONT=1,""

One question you might be able to help me:
I am using this modem in qmi mode but would like as well to use wvdial but it refuses to talk to the modem (I cannot recall the right error message right now).

did you need to swithc the modem into a different mode to use wvdial and if yes how?

Thanks

BR,
Wolle

Yes. We have our own cellular dialing wrapper around our own network manager code and it does this. We properly set the APN from our configuration when dialing. As I mentioned our code works on all other cellular modems.

I can’t say anything about wvdial. We are not using a standard Linux userspace – we have our own cellular interface software (and 802.11 interface, and Ethernet management, etc).

Without knowing much about wvdial: you need to AT!USBCOMP to set the right interface bits. The bits are defined in the manual. IIRC you need to enter configuration mode to change this with this command: AT!ENTERCND=“A710” But wvdial likely only requires a serial interface. AT commands will only work on one of the serial interfaces presented by the modem; try /dev/ttyUSB2. You can use a program like minicom to try to talk to the modem interactively.

But again, we know nothing about wvdial as we have our own connectivity manager written from scratch. After several weeks of analysis we believe our modem is simply faulty. Based upon the support (or lack thereof) we’ve decided to use ship a u-Blox modem with our platform instead.

Similar problem, see terminal output:

AT+CGDCONT=1,“IP”,“met”
OK
AT+COPS?
+COPS: 0,0,“Telenor HU Telenor HU”,2

OK
AT+CREG?
+CREG: 0,1

OK
ATD99**1#
ERROR
AT+CEER
+CEER: Missing or unknown APN

OK
ATI
Manufacturer: Sierra Wireless, Incorporated
Model: MC7455
Revision: SWI9X30C_02.08.02.00 r5428 CARMD-EV-FRMWR2 2016/01/06 20:38:53
MEID: 35907206042423
IMEI: 359072060424237
IMEI SV: 4
FSN: LQ646445120310
+GCAP: +CGSM,+DS,+ES

OK

AT!GSTATUS?
!GSTATUS:
Current Time: 143 Temperature: 27
Reset Counter: 5 Mode: ONLINE
System mode: WCDMA PS state: Attached
WCDMA band: WCDMA 2100
WCDMA channel: 0
GMM (PS) state:DEREGISTERED NO SERVICE
MM (CS) state: IDLE NO SERVICE

WCDMA L1 state:L1M_STOPPED LAC: 100F (4111)
RRC state: DISCONNECTED Cell ID: 0001CE03 (118275)
RxM RSSI C0: — RxD RSSI C0: —
RxM RSSI C1: — RxD RSSI C1: —

How can I set/activate APN ?