MC7354 and T-Mobile US

I am trying to get MC7354 connect to T-Mobile US LTE. For some reason, it does not connect to LTE APN (fast.t-mobile.com). 3/3.5G APN (epc.t-mobile.com) seems to connect, but doesn’t get IP address. 3/3.5G is working from my phone with same SIM card. MC7354 detects SIM card fine and everything seems to be fine, but it just doesn’t initiate LTE call. Is MC7354 supposed to be only for AT&T LTE ? I thought if it works on AT&T, it should work on T-Mobile too.

Below is various status info (actual IDs masked out). Have been googling around for 2 days so far. Didn’t find much help as this is relatively new module. Appreciate if anyone could shed some light on how to go about make this damn thing connect both 3G and LTE

gcom:

root@OpenWrt:~# gcom -d /dev/ttyUSB2
SIM ready
Waiting for Registration…(120 sec max)
Registered on Home network: “T-Mobile”,7
Signal Quality: 23,99

root@OpenWrt:~# gcom -d /dev/ttyUSB2 sig
Signal Quality: 23,99

root@OpenWrt:~# gcom -d /dev/ttyUSB2 info

Wireless WAN Modem Configuration

Product text:

Manufacturer: Sierra Wireless, Incorporated
Model: MC7354
Revision: SWI9X15C_05.05.16.02 r21040 carmd-fwbuild1 2014/03/17 23:49:48
MEID: …
ESN: …
IMEI: …
IMEI SV: 11
FSN: J8426502290410
+GCAP: +CGSM
OK

Manufacturer: Sierra Wireless, Incorporated
IMEI and Serial Number: …
Manufacturer’s Revision:
SWI9X15C_05.05.16.02 r21040 carmd-fwbuild1 2014/03/17 23:49:
Hardware Revision:

Network Locked: 0
Customisation:

Band settings: (
)
APN: 1,“IP”,“epc.tmobile.com”,“0.0.0.0”,0,0

END

QMI :

LTE:

root@OpenWrt:~# qmi-network /dev/cdc-wdm0 start
Loading profile…
APN: fast.t-mobile.com
Starting network with ‘qmicli -d /dev/cdc-wdm0 --wds-start-network=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 (3,2000): [cm] client-end
Saving state… (CID: 8)
error: network start failed, no packet data handle
Clearing state…

3G :

root@OpenWrt:~# qmi-network /dev/cdc-wdm0 start
Loading profile…
APN: epc.tmobile.com
Starting network with ‘qmicli -d /dev/cdc-wdm0 --wds-start-network=epc.tmobile.com --client-no-release-cid’…
Saving state… (CID: 8)
Saving state… (PDH: 1137862328)
Network started successfully

root@OpenWrt:~# udhcpc -i wwan0
udhcpc (v1.22.1) started
Sending discover…
Sending discover…
Sending discover…

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-capabilities
[/dev/cdc-wdm0] Device capabilities retrieved:
Max TX channel rate: ‘50000000’
Max RX channel rate: ‘100000000’
Data Service: ‘non-simultaneous-cs-ps’
SIM: ‘supported’
Networks: ‘cdma20001x, evdo, gsm, umts, lte’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-ids
[/dev/cdc-wdm0] Device IDs retrieved:
ESN: ‘…’
IMEI: ‘…’
MEID: ‘…’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-model
[/dev/cdc-wdm0] Device model retrieved:
Model: ‘MC7354’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-revision
[/dev/cdc-wdm0] Device revision retrieved:
Revision: ‘SWI9X15C_05.05.16.02 r21040 carmd-fwbuild1 2014/03/17 23:49:48’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-power-state
[/dev/cdc-wdm0] Device power state retrieved:
Power state: ‘external-source’
Battery level: ‘0 %’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-uim-get-iccid
[/dev/cdc-wdm0] UIM ICCID retrieved:
ICCID: ‘…’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
[/dev/cdc-wdm0] UIM state retrieved:
State: ‘initialization-completed’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-operating-mode
[/dev/cdc-wdm0] Operating mode retrieved:
Mode: ‘online’
HW restricted: ‘no’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-uim-get-state
[/dev/cdc-wdm0] UIM state retrieved:
State: ‘initialization-completed’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --dms-get-band-capabilities
[/dev/cdc-wdm0] Device band capabilities retrieved:
Bands: ‘bc-0-a-system, bc-0-b-system, bc-1-all-blocks, gsm-dcs-1800, gsm-900-extended, gsm-900-primary, bc-10, gsm-850, gsm-pcs-1900, wcdma-2100, wcdma-pcs-1900, wcdma-1700-us, wcdma-850-us, bc-15’
LTE bands: ‘2, 4, 5, 13, 17, 25’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-signal-strength
[/dev/cdc-wdm0] Successfully got signal strength
Current:
Network ‘lte’: ‘-68 dBm’
Other:
Network ‘cdma-1xevdo’: ‘-125 dBm’
RSSI:
Network ‘lte’: ‘-68 dBm’
Network ‘cdma-1xevdo’: ‘-125 dBm’
ECIO:
Network ‘lte’: ‘-31.5 dBm’
Network ‘cdma-1xevdo’: ‘-2.5 dBm’
IO: ‘-106 dBm’
SINR: (8) ‘9.0 dB’
RSRQ:
Network ‘lte’: ‘-7 dB’
SNR:
Network ‘lte’: ‘15.2 dB’
RSRP:
Network ‘lte’: ‘-93 dBm’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-signal-info
[/dev/cdc-wdm0] Successfully got signal info
HDR:
RSSI: ‘-125 dBm’
ECIO: ‘-2.5 dBm’
SINR (8): ‘9.0 dB’
IO: ‘-106 dBm’
LTE:
RSSI: ‘-68 dBm’
RSRQ: ‘-7 dB’
RSRP: ‘-93 dBm’
SNR: ‘18.6 dBm’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-home-network
[/dev/cdc-wdm0] Successfully got home network:
Home network:
MCC: ‘310’
MNC: ‘260’
Description: ‘T-Mobil’

rroot@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-serving-system
[/dev/cdc-wdm0] Successfully got serving system:
Registration state: ‘registered’
CS: ‘attached’
PS: ‘attached’
Selected network: ‘3gpp’
Radio interfaces: ‘1’
[0]: ‘lte’
Roaming status: ‘off’
Data service capabilities: ‘1’
[0]: ‘lte’
Current PLMN:
MCC: ‘310’
MNC: ‘260’
Description: ‘T-Mobile’
Roaming indicators: ‘1’
[0]: ‘off’ (lte)
3GPP time zone offset: ‘-420’ minutes
3GPP daylight saving time adjustment: ‘1’ hours
3GPP location area code: ‘65534’
3GPP cell ID: ‘21199875’
Detailed status:
Status: ‘available’
Capability: ‘cs-ps’
HDR Status: ‘none’
HDR Hybrid: ‘yes’
Forbidden: ‘no’
LTE tracking area code: ‘16720’
Full operator code info:
MCC: ‘310’
MNC: ‘260’
MNC with PCS digit: ‘yes’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-system-info
[/dev/cdc-wdm0] Successfully got system info:
CDMA 1x service:
Status: ‘none’
Preferred data path: ‘no’
CDMA 1xEV-DO (HDR) service:
Status: ‘none’
Preferred data path: ‘no’
GSM service:
Status: ‘none’
True Status: ‘none’
Preferred data path: ‘no’
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: ‘21199875’
MCC: ‘310’
MNC: ‘260’
Tracking Area Code: ‘16720’
Voice support: ‘no’
eMBMS coverage info support: ‘no’
SIM reject info: ‘vailable’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-technology-preference
[/dev/cdc-wdm0] Successfully got technology preference
Active: ‘auto’, duration: ‘permanent’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference
[/dev/cdc-wdm0] Successfully got system selection preference
Emergency mode: ‘no’
Mode preference: ‘cdma-1x, cdma-1xevdo, gsm, umts, lte’
Band preference: ‘gsm-dcs-1800, gsm-900-extended, gsm-900-primary, gsm-850, gsm-pcs-1900, wcdma-2100, wcdma-pcs-1900, wcdma-850-us, wcdma-800, bc-15’
LTE band preference: ‘2, 4, 5, 17’
TD-SCDMA band preference: ‘a, b, c, d, e, f’
CDMA PRL preference: ‘any’
Roaming preference: ‘any’
Network selection preference: ‘automatic’
Service domain preference: ‘cs-ps’
Service selection preference: ‘automatic’

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --wds-get-packet-service-status
[/dev/cdc-wdm0] Connection status: ‘disconnected’

rroot@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --wds-get-data-bearer-technology
error: couldn’t get data bearer technology: QMI protocol error (15): ‘OutOfCall’
[/dev/cdc-wdm0] Data bearer technology (last): ‘lte’(10)

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --wds-get-profile-list=3gpp2
Profile list empty

root@OpenWrt:~# qmicli -d /dev/cdc-wdm0 --wds-get-profile-list=3gpp
Profile list retrieved:
[1] 3gpp - AT&T Mobile
APN: ‘epc.tmobile.com
PDP type: ‘ipv4’
Username: ‘’
Password: ‘’
Auth: ‘none’

It turns out epc.t-mobile.com IS the LTE APN. And we are supposed to use wdm1, wwan1 with this modem. I am able to connect using those and do a speed test. Seeing about 3.5Mbps to 19+Mbps speeds. Average around 7-8Mbps speeds. I assume that IS the LTE, not HSPA+

root@OpenWrt:/usr/share/udhcpc# qmi-network /dev/cdc-wdm1 start
Loading profile…
APN: epc.tmobile.com
Starting network with ‘qmicli -d /dev/cdc-wdm1 --wds-start-network=epc.tmobile.com --client-no-release-cid’…
Saving state… (CID: 12)
Saving state… (PDH: 1137821672)
Network started successfully

root@OpenWrt:/usr/share/udhcpc# udhcpc -i wwan1
udhcpc (v1.22.1) started
Sending discover…
Sending select for 162.164.85.106…
Lease of 162.164.85.106 obtained, lease time 7200
udhcpc: ifconfig wwan1 162.164.85.106 netmask 255.255.255.252 broadcast +
udhcpc: setting default routers: 162.164.85.105

That modem will be exposed with 2 pairs of /dev/cdc-wdm and wwan ports: one of the pairs is by default configured to use Ethernet frames (802.3) in the WWAN port; while the other one is configured not to use them (raw IP).

In order to work with the qmi_wwan driver in the kernel, you currently need to always use 802.3 ethernet frames in the WWAN port after connecting via QMI.

So, you either use only the WWAN port configured with ethernet frames, OR you can also convert the other WWAN to use ethernet frames as well, e.g. using qmicli -d /dev/cdc-wdm0 --device-open-net=“net-802-3|net-no-qos-header” --dms-noop

aleksander, thank you for your reply and QMI contributions. I like Linux QMI support. Much better than ancient AT command interface crap.