TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS

Register

Sierra Wireless EM7455 LTE Cat 6

Article Number: 10375
Supplier number:

The Sierra Wireless EM7455 Embedded Module is an LTE Cat 6 M.2 module that provides LTE, UMTS, and GNSS connectivity for notebook, ultrabook, tablet computers, and M2M applications over 15 different LTE radio frequency bands globally with primary target area Americas and EMEA.

The EM7455 will allow a maximum downlink speed of 300 Mbps and a maximum uplink speed of 50 Mbps, including LTE Advanced, with automatic fall back to 3G networks.



End-of-life

This product has reached
end-of-life and can not be
ordered any more.

Quantity Price

No prices available

For more information
please contact us at
sales-americas@techship.com

For larger quantities and complete pricing, please sign in or register

Subscribe to stay up to date with the latest about this product.

Subscribe to updates
UMTS Bands
B1 (2100)
B2 (1900)
B8 (900)
B4 (AWS)
B3 (1800)
B5 (850)
MIMO (Multiple-Input Multiple-Output)
Yes
LTE Bands
B1 (2100)
B2 (1900)
B3 (1800)
B4 (AWS)
B7 (2600)
B12 (700ac)
B13 (700c)
B20 (800DD)
B5 (850)
B25 (1900)
B26 (US 850 Ext)
B29 (US 700de Lower)
B41 (TDD 2500)
B30 (2300 WCS)
Manufacturer
Sierra Wireless
LTE Region
Europe
North America
Asia
South America
Africa
Module KEY
B
FOTA Firmware Updates
Yes
Form Factor
M.2 3042
Technology
LTE - cat 6
Antenna Interface
IPEX MHF-4
GPS
Yes
GNSS technology
GPS
GLONASS
BeiDou
Max DL Speed
300 Mbps
Max UL Speed
50 Mbps
Chipset
Qualcomm
Operating Temperature Range
-40 °C – 85 °C
Driver Support
Windows 7
Linux
Android
Windows 8.1
Windows 10
Interface
USB 2.0
USB 3.0
Voice Call Support
No
GNSS antenna support
Passive
Active 3.3VDC
SIM interface
Through M.2 connector
Dual SIM interface
GPIO
Yes
Carrier Certification
AT&T
Verizon
Sprint
Vodafone
Rogers
Extended Operating Temperature Range
-40 °C – 85 °C
Certification
FCC
CE
GCF
PTCRB
IC
CE RED
Size
42 x 30 x 2.3 mm
Technical details:
For details on the firmware version related to the manufacturers product number and SKU/BOM codes, please relate to:
SKU/BOM code vs. firmware version comparison chart

This datasheet shows an comparison overview of the EM-series cellular modules from Sierra Wireless.

Download

This manual contains the product technical specifications.

Download

Uploaded at
2016-09-16 14:03:50
Last updated
2019-08-15 11:06:19
Version
R15
Related products
Sierra Wireless EM7455 LTE Cat 6

This manual contains the AT Commands for the EM74XX and MC74XX series from Sierra Wireless.

Download

Uploaded at
2016-01-25 10:07:40
Last updated
2019-04-05 11:45:32
Version
R4
Related products
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

This document contains the Linux SDK application guide.

Download

Uploaded at
2016-05-25 13:03:27
Last updated
2018-12-03 10:11:48
Version
1.26
Requirements
Linux OS
The following processors are supported:
x86 (32bit & 64bit)
ARM
PPC
MIPS

The following devices are supported:
MC77xx
MC83x5
SL/MC9090
EM/MC73xx
AR7554
EM/MC74xx
Related products
Sierra Wireless MC7710
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless MC9090RD
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7355
Sierra Wireless EM7305
Sierra Wireless MC7350
Sierra Wireless MC7700
Sierra Wireless MC7750

Application note describing the thermal dissipation guidelines for the Sierra Wireless EM-MC74 series modules.

Download

Uploaded at
2020-02-18 11:19:40
Last updated
2020-02-18 11:19:40
Version
r3
Related products
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

Mobile devices using 3G and LTE are equipped with a second receive antenna for improved performance.
This second antenna is required for receive diversity and MIMO.
These concepts, with their associated benefits, requirements and test possibilities, are described in this Application Note in a Q&A format.

Download

This manual describes the Standard AT commands for User Equipment according to the 3GPP TS 27.007 standard
(version 15.4.0 Release 15)

For manual on proprietary model specific extended AT commands please refer to download section of product page.

Download

This document describes services and protocols available over the USB connection, as well as describes the physical USB interface to help developers design host drivers for the AirPrime MC73xx series of embedded modules.

Download

Sierra Wireless EM74 series 3D cad model files

Download

Uploaded at
2017-02-14 15:40:30
Last updated
2017-02-14 15:40:30
Related products
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

This document provides full description of AT commands for Sierra Wireless AirPrime wireless modules and AirLink Programmable Gateways.
Please refer to the specific Sierra Wireless module AT Command Reference document for list of supported AT commands.

Download

Sierra Wireless EM7305, EM7430 and EM7455 CE RED Compliance Statement

Download

Uploaded at
2017-05-26 12:23:16
Last updated
2017-05-26 12:23:16
Version
1
Related products
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless EM7305

Archive with Sierra Wireless EM/MC74 series certificates for:
MC7455 USA (FCC), Canada (IC), EU (CE), Mexico
EM7455 USA (FCC), Canada (IC), EU (CE), Taiwan (NCC), Mexico, Brazil (Anatel)
MC7430 EU (CE), Taiwan (NCC), Japan, South Korea, Brazil (Anatel)
EM7430 EU (CE), Taiwan (NCC), Japan, South Korea, Brazil (Anatel)

Download

Uploaded at
2017-02-09 12:27:38
Last updated
2017-02-09 12:27:38
Related products
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

This zip archive contains the Sierra Wireless Linux QMI SDK files:
Linux QMI SDK Full Version
Linux QMI SDK Lite Version
Linux QMI SDK Customer Release Note
Sierra Linux QMI drivers
Linux QMI SDK Application Developers Guide
Linux QMI Drivers - Customer Release Notes

Download

Uploaded at
2017-02-20 10:14:45
Last updated
2020-06-09 15:15:50
Version
V.04.00.25
Requirements
Usage of Sierra Wireless GobiNet and GobiSerial drivers.
Compatible with kernel versions 2.6.32 to 5.6.
Processors supported: x86, ARM, PPC, MIPS.

Sierra Wireless devices supported:
EM/MC74xx
EM75xx
EM/MC73xx
WP76xx
WP7702
Related products
Sierra Wireless MC7350
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
Sierra Wireless EM7565 LTE CAT-12
Sierra Wireless WP8548
Sierra Wireless WP7502
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless EM7305
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7355
Sierra Wireless EM7511 LTE CAT-12
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Sierra Wireless MC-WP7610 LTE CAT-4 mPCIe
Sierra Wireless WP7702 LTE CAT-M/NB-IoT LGA

This ZIP archive contains the Sierra Wireless Linux QMI drivers with manual and release notes.
In the Application Developers Guide you find instructions on how to install the drivers.

Linux QMI GobiNet and GobiSerial Drivers - Customer Release Notes
Linux QMI SDK Application Developers Guide
Sierra Linux QMI drivers

Download

This archive contains the Sierra Wireless Android RIL library with related manuals and release notes.

Download

Uploaded at
2017-10-05 17:57:52
Last updated
2019-07-16 16:18:35
Version
Android RIL_V9.0.4.0_ARM_64_bin_Android RIL_V8.1.2_x86_64_bin
Requirements
The following Android versions are supported:
• x86
▪ 5.0 (Lollipop)
▪ 5.1 (Lollipop)
▪ 6.0 (Marshmallow)
▪ 7.1 (Nougat)
▪ 8.1 (Oreo)

• ARM
▪ 5.0 (Lollipop)
▪ 5.1 (Lollipop)
▪ 6.0 (Marshmallow)
▪ 7.0 (Nougat)
▪ 7.1 (Nougat)
▪ 8.0 (Oreo)
▪ 8.1 (Oreo)
▪ 9.0 (Pie)
Related products
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
Sierra Wireless EM7565 LTE CAT-12
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless HL8518
Sierra Wireless HL8528
Sierra Wireless HL8548
Sierra Wireless HL8548-G
Sierra Wireless WP8548
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe

Connection manager to connect AirPrime EM/MC Series modules to your PC running Windows. Please install USB drivers as mentioned in the related items.

Download

This executable file install the Windows drivers for Sierra Wireless EM/MC Series cellular modules

Download

This file contains the Windows driver for Sierra Wireless modules.

Download

Uploaded at
2016-05-06 17:02:00
Last updated
2017-02-20 10:34:18
Version
4464
Requirements
Windows
Related products
Sierra Wireless MC7430 mPCIe
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7354
Sierra Wireless MC7304
Sierra Wireless EM7430 LTE Cat 6

This executable file install the Windows drivers for Sierra Wireless EM/MC Series Modules

Download

Uploaded at
2017-01-09 15:59:22
Last updated
2017-01-09 15:59:22
Version
V.4581
Requirements
Microsoft Windows 7 / Windows 8 / Windows 10 Driver Package
Related products
Sierra Wireless EM7430 LTE Cat 6
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7355
Sierra Wireless EM7305
Sierra Wireless MC7350
Sierra Wireless MC7354
Sierra Wireless MC7304

This archive contains the Sierra Wireless MC/EM7455 Firmware file with generic operator PRI configuration plus related release notes.
One click firmware update application for Windows and firmware update binaries for Linux systems.

Download

Uploaded at
2020-01-13 09:07:52
Last updated
2020-01-13 09:07:52
Version
SWI9X30C_02.33.03.00_Generic_002.072_000
Requirements
Windows: Sierra Wireless Windows drivers installed
Linux: GobiNet and GobiSerial drivers in use and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

This archive contains the Sierra Wireless MC/EM7455 Firmware file with generic operator PRI configuration plus related release notes.
One click firmware update application for Windows and firmware update binaries for Linux systems.

Download

Uploaded at
2019-08-06 12:19:52
Last updated
2019-08-21 11:50:01
Version
SWI9X30C_02.32.11.00_00_GENERIC_002.064_000
Requirements
Windows: Sierra Wireless Windows drivers
Linux: GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2019-01-04 11:52:38
Last updated
2020-05-27 11:52:48
Version
V.02.32.11.00
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2019-01-04 11:12:20
Last updated
2020-05-27 11:48:16
Version
V.02.32.11.00
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2016-04-06 11:20:29
Last updated
2020-05-27 11:37:09
Version
SWI9X30C_02.33.03.00_Verizon_002.079_001
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2017-02-21 12:55:57
Last updated
2019-10-25 10:44:50
Version
V.02.30.01.01
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2017-02-21 12:53:49
Last updated
2019-10-25 10:44:26
Version
V.02.30.01.01
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu) are also include in the update archive.

Download

Uploaded at
2016-04-06 11:17:54
Last updated
2019-08-06 12:14:53
Version
SWI9X30C_02.32.11.00_00_ATT_002.070_000
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2017-02-21 12:52:07
Last updated
2019-01-04 11:45:36
Version
V.02.24.03.00
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

Archive containing the one click executable application file for updating the Sierra Wireless modules firmware in Windows as well as the related release notes.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2017-02-21 13:02:22
Last updated
2019-01-04 11:41:17
Version
V.02.24.05.06
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

This archive contains the Sierra Wireless MC/EM7455 Firmware file with generic operator PRI configuration plus related release notes.
One click firmware update application for Windows and firmware update binaries for Linux systems.

Download

Uploaded at
2018-12-20 14:47:57
Last updated
2019-08-06 12:21:02
Version
SWI9X30C_02.30.03.00_Generic_002.046_001
Requirements
Windows: Sierra Wireless Windows drivers
Linux: GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

This archive contains the Sierra Wireless MC/EM7455 Firmware file with generic operator PRI configuration plus related release notes.
One click firmware update application for Windows and firmware update binaries for Linux systems.

Download

Uploaded at
2018-09-14 11:53:03
Last updated
2018-12-20 14:48:35
Version
SWI9X30C_02.30.01.01_00_GENERIC_002.045_000
Requirements
Windows: Sierra Wireless Windows drivers
Linux: GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

This archive contains the Sierra Wireless MC/EM7455 firmware with generic operator PRI configuration.
It is a one click updater application for Windows and release notes.

Download

Uploaded at
2017-09-29 17:52:24
Last updated
2019-07-16 15:58:02
Version
02.24.05.06
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

This archive contains the Sierra Wireless MC/EM7455 Firmware file with generic operator PRI configuration plus related release notes.

Download

Uploaded at
2017-09-29 17:47:44
Last updated
2019-07-16 15:56:34
Version
V.02.24.05.06
Requirements
GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6

This archive contains the MC/EM7455 Firmware V.02.20.03.00, generic operator PRI configuration update and related release notes.
It includes a Windows one click installer and CWE and NVU files for Linux update tool.

Download

Uploaded at
2017-01-04 17:46:54
Last updated
2019-07-16 15:55:18
Version
swi9x30c_02.20.03.00_generic_002.017_000
Requirements
Microsoft Windows or Linux update tool
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6

One click executable application file for updating the Sierra Wireless modules firmware in Windows.

The Linux firmware update files (.cwe, .nvu, or .spk)can be acquired by extracting/unzip this Windows executable file with e.g. 7-Zip or similar software.

Download

Uploaded at
2016-04-06 11:23:20
Last updated
2017-02-21 11:48:39
Version
02.08.02.00
Requirements
Microsoft Windows operating system or Linux with GobiNet, GobiSerial drivers and the firmware download sample application from Sierra Wireless QMI SDK package.
Related products
Sierra Wireless EM7455 LTE Cat 6
Sierra Wireless MC7455 LTE Cat 6
Question

How can I enable DC voltage output for active GPS/GNSS antennas on modules that support this feature?

Solution

The 3 volt DC Low Noise Amplifier voltage supply from the cellular module can be enabled according to AT commands bellow:

For Sierra Wireless EM/MC74 series:
AT!ENTERCND="A710"
AT+WANT=1

For Sierra Wireless MC73 series:
AT!ENTERCND="A710"
AT+WANTGNSSPWR=1

For Simcom SIM7100, SIM7500, SIM7600 and SIM7600 -H series:
AT+CVAUXV=3050
AT+CVAUXS=1

Question

How-to change the cellular modulesUSB composition mode to Mobile Broadband Interface Model (MBIM) used by Windows 8 and 10 systems for controlling and establishing data connectivity through the built-in connection manager in Windows?

Solution

This is done by sending a set of AT commands to the cellular modules Modem or AT serial interface found in Windows Device Manager. Please see list below for associated AT commands.
(For additional details, refer to the product specific software, ports, and AT commands guides found on the Techship product web pages under technical documentation tab).

After the AT commands have been received by the module and has restarted, the USB interface endpoint composition should have changed to include MBIM interface as well.

You can find the correct Serial COM port number by checking Windows Device Manager, under the Modems drop down -> (right click and see properties for selected COM port info) or under the Ports (COM & LPT) drop down.

Vendor specific commands to use:
Sierra Wireless EM74xx, MC74xx series module:
AT!ENTERCND=”A710”
AT!USBCOMP=1,1,100D
AT!RESET
(See test command AT!USBCOMP=? for full usage description)

Sierra Wireless EM75xx series module:
AT!ENTERCND=”A710”
AT!USBCOMP=1,3,100D
AT!RESET
(See test command AT!USBCOMP=? for full usage description)

Sierra Wireless EM73xx, MC73xx series module:
AT!ENTERCND=”A710”
AT!UDUSBCOMP=8
AT!RESET

Simcom SIM7100, SIM7500 and SIM7600 series modules:
AT+CUSBPIDSWITCH=9003,1,1
AT+CRESET

ZTE Welink ME3630 series:
AT+ZSWITCH=8
AT+ZRST

Telit LE910C1 and LE910C4 series:
AT#USBCFG=2
AT#REBOOT

Telit LM940 and LM940A11:
AT#USBCFG=2
AT#REBOOT

Telit LM960 and LM960A18:
AT#USBCFG=2
AT#REBOOT

Telit LE910 V2 series:
AT#USBCFG=3
AT#REBOOT

On Huawei and Telit LN94x series modules the USB mode changing is done automatically by the modules Windows drivers based on current Windows version.

Please be aware that some USB mode configurations do not include any serial interfaces, making it impossible to revert the changes using AT commands.

Related products
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Huawei MU709s-2 LGA
Huawei MU709s-2 mPCIe
Huawei ME909s-821 mPCIe
Huawei ME909s-821 LGA
Huawei ME909s-120 mPCIe EU
Huawei ME909s-120 LGA EU
Huawei MU709s-6 mPCIe
SimCom SIM7100E LTE SMT EU
SimCom SM7100A LTE SMT US
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
Huawei ME906s-158 M.2 EU
Huawei ME909s-120 LGA dev.kit
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
SimCom SIM7100E LTE mPCIe SIM
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
ZTE ME3610 E1A LCC
Techship Starter kit Huawei ME909s
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
Huawei MU709s-2 LGA TTS
Welink ME3630 E1C LCC EU
Welink ME3630 E1C mPCIe EU
SIMCom SIM7500E LTE mPCIe EU
Welink ME3630 U1A LCC (US)
Welink ME3630 U1A mPCIe (US)
SIMCom SIM7500SA LTE mPCIe Audio
Telit LM940A11 LTE CAT-11, GPS, mPCIe
Telit LE910-EU V2 LTE CAT-4, mPCIe
Telit LE910-SV V2 LTE CAT-4, Verizon, mPCIe
Telit LE910-NA V2 LTE CAT-4, AT T, TM, mPCIe
Telit LE910-AU V2 LTE CAT-4, Telstra, mPCIe
Telit LE910-NA1 LTE CAT-1 LGA
Telit LE910-EU1 LTE CAT-1 LGA
Telit LE910-SV1 LTE CAT-1 LGA
Telit LE910-EU V2 LTE CAT-4 LGA
Telit LE910-NA V2 LTE CAT-4 LGA
Telit LE910D1-E1 LTE CAT-1 LGA
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
Sierra Wireless EM7565 LTE CAT-12
Welink ME3630 C1C mPCIe CN
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
Welink ME3630 E1C M.2 EU
Welink ME3630 E2C CAT-1 M.2 EU
Telit LE910-NA V2 LTE CAT-4, S.SKU, mPCIe
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SIMCom SIM7600E LTE CAT-1 mPCIe
SIMCom SIM7600SA LTE CAT-1 mPCIe
SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
Telit LM960 LTE CAT-18, GPS, mPCIe
Sierra Wireless EM7511 LTE CAT-12
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910-NA V2 LTE CAT-4, S.SKU LGA
Telit LE910B1-NA S.SKU
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
Telit LE910C1-NA LTE CAT-1 AT&T LGA
Telit LE910C1-NS LTE CAT-1 Sprint LGA
SIMCom SIM7600G-H LTE CAT-4 mPCIe
Telit LE910-NA1 S.SKU
Telit LE910-JN1
Telit LE910C1-AP
Telit LE910C1-EU
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF
Telit LE910-PCI (LE910-SV1)
Telit LE910-PCI (LE910-EU1)
Telit LE910-PCI (LE910-JN1)
Telit LE910-PCI (LE910-NA1)
Telit LE910-PCI (LE910C1-AP)
Telit LE910-PCI (LE910C1-NA)
Telit LE910C1-EU LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe SIM
Telit LE910C1-NF
Telit LM940A11, HW Rev. 2, LTE CAT-11, GPS, mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe SIM
Telit LM960A18 LTE CAT-18 mPCIe
Telit LE910C1-EU LTE CAT-1 mPCIe SIM
Telit LE910C1-AP LTE CAT-1 mPCIe SIM
Telit LE910C1-NF LTE CAT-1 mPCIe
Telit LE910C4-AP LTE CAT-4 mPCIe SIM
Telit LE910C4-CN LTE CAT-4 mPCIe
Gosuncn GM500 U1A mPCIe (US)
SIMCom SIM7600G-H R2 mPCIe
SIMCom SIM7600NA-H mPCIe
Question

How to step by step set up a data connection over QMI interface using qmicli and in-kernel driver qmi_wwan in Linux?

Solution

Several cellular modules based on Qualcomm chipsets implements the Qualcomm Qualcomm MSM (QMI) Interface.
There is a open source Linux in-kernel driver supporting this interface and it is called qmi_wwan. This driver can be used together with ModemManager and NetworkManager to automate connection establishment and as a connection manager.

The library libqmi which ModemManager uses can also be used to communicate in a more direct way with the cellular devices over the QMI interface and to step by step do necessary configurations and trigger the data connection over the cellular network.

A selection of cellular modules can be supported:

Using RAW IP kernel configuration:
Sierra Wireless MC74 series, EM74 series, EM75** series
Telit LM940, LM960
Telit LN94x series (requires USB mode switch)
Simcom SIM7500 series, SIM7600 series, SIM7600 -H series
(can be supported in qmi_wwan driver from kernel 4.18 or by applying the following one line qmi_wwan source code patch on previous kernel builds: qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID)

Using 802.3 IP framing kernel configuration:
Simcom SIM7100 series
Sierra Wireless MC73**/EM73** series

ModemManager combined with NetworkManager will detect the cellular modules automatically in most cases, please refer to their respective documentations on how to establish a data connection using them.

Example on how to set up the data connection step by step manually with libqmi:
First install the libqmi Linux library e.g. by using your system package manager like apt or preferably latest version from source on the Freedesktop pages for libqmi project: https://www.freedesktop.org/wiki/Software/libqmi/

Verify that you have the Linux in-kernel qmi_wwan driver installed and attached for the cellular modules QMI interface over USB:
lsusb -t
Can look e.g. like this:
...
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
...

If the driver is not correctly loaded, please verify that the module is set to expose the correct USB endpoints configuration toward the host system and that you have followed the provided guides from the cellular module vendors, regarding how to implement the module in Linux.

Libqmi expose a command line interface that can be used to communication with the module over QMI interface.
The qmicli help will output information about all commands available:
qmicli --help-all

The cellular modules QMI control interface are usually named cdc-wdm* e.g.:
qmicli --device=/dev/cdc-wdm0

In order to allow parallel commands to be execute on the module over QMI interface, it is recommended to use the libqmi proxy function. This can be done by including the attribute -p or --device-open-proxy in every qmicli command.

If a SIM pin is required for the SIM card, use command bellow:
qmicli --device=/dev/cdc-wdm0 -p --dms-uim-verify-pin=PIN,1234

The name of the related network interface to QMI control channel can be acquired with the command:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --get-wwan-iface

The most recent Qualcomm based cellular modules only expose QMI interfaces that can support Raw-IP mode. Sierra Wireless EM/MC74 and EM75 series modules, Telit LM940 and LN940 series for example require this.
Check what IP-mode the host system is configured for:
qmicli --device=/dev/cdc-wdm0 --get-expected-data-format
Check what IP-mode the cellular module require:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wda-get-data-format

to change qmi_wwan driver to use Raw-IP.
Disable the network interfaces exposed by the cellular module:
ip link set dev wwan0 down
Trigger the Raw-IP support:
echo Y > /sys/class/net/wwan0/qmi/raw_ip
Enable the network interfaces again:
ip link set dev wwan0 up

Now the data connection in the cellular module can be activated e.g. with a IPv4 type configuration on the specified APN:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wds-start-network="ip-type=4,apn=data.tre.se" --client-no-release-cid

Once "Network started" is displayed, you can send a DHCP request on the network interface.
Please note that not all DHCP clients in Linux can support Raw-IP format, udhcpc however support this for IPv4 over Raw-IP.
udhcpc -q -f -n -i wwan0

Disconnect the data bearer and data connection over QMI by command bellow and providing the network handle and CID returned at connection activation:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wds-stop-network=NETWORK_HANDLE --client-cid=CID

Additional useful commands:

Request module manufacturer:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-manufacturer

Get module model:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-model

Get firmware version:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-revision

Get module IDs (IMEI etc.):
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --dms-get-ids

Get SIM card status:
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --uim-get-card-status

Recent cellular modules like Sierra Wireless EM7565 require at least libqmi V1.20. Check version with command:
qmicli --version

If the connection was successfully set up established, you now have data connectivity. A ping to a remote server using the cellular network interface can for example prove this:
ping -I wwan0 8.8.8.8

The ifconfig Linux tool can show the current details for the network interface:
ifconfig wwan0

libqmi is well integrated and supported in ModemManager tool for Linux. ModemManager again is well integrated and supported when using NetworkManager tool in Linux. Please note however that these two tools expect the cellular module interfaces to only be used by them so if you manually want to use the libqmi library or AT commands interfaces, please turn off/disable ModemManager and NetworkManager first.

The libqmi is a generic open source library for Linux systems and QMI protocol from Qualcomm, therefor there are commands only working on selected devices and not necessarily supported on the device you use, resulting in an error message.

Question

What Linux kernel modules and configs are commonly used for communicating with cellular modules over their USB interface?

Solution

Most cellular modules can be supported in Linux by using som of the in-kernel drivers. The physical data interface to the host Linux system is usually done over USB which enumerates a set of different endpoints/interfaces. A set of serial interfaces for Modem/PPP, AT commands, NMEA location data and chipset debug information are almost always available in all configurations.

In addition some type of network endpoint/interface are also available and exposed. This can vary between manufacturers and chipset vendors and can also commonly be configurable by using USB configuration mode switching or through vendor specific AT commands.

Recommended kernel configurations to enable are listed bellow. Many cellular modules base their Linux support on these modules and drivers. Once included in the kernel build, the USB interfaces will be detected and bound correctly out-of-the-box or after applying source code patches to the driver modules.

Configs for USB serial drivers:
CONFIG_USB_SERIAL
CONFIG_USB_SERIAL_GENERIC
CONFIG_USB_SERIAL_WWAN
CONFIG_USB_SERIAL_OPTION
CONFIG_USB_SERIAL_QUALCOMM
CONFIG_USB_ACM

Configs for Modem/PPP support:
CONFIG_PPP
CONFIG_PPP_BSDCOMP
CONFIG_PPP_DEFLATE
CONFIG_PPP_FILTER
CONFIG_PPP_MPPE
CONFIG_PPP_MULTILINK
CONFIG_PPPOE
CONFIG_PPP_ASYNC
CONFIG_PPP_SYNC_TTY

Configs for USB network drivers:
CONFIG_USB_USBNET
CONFIG_USB_NET_QMI_WWAN
CONFIG_USB_NET_CDCETHER
CONFIG_USB_NET_RNDIS_HOST
CONFIG_USB_NET_CDC_NCM
CONFIG_USB_NET_HUAWEI_CDC_NCM
CONFIG_USB_NET_CDC_MBIM

Please relate to the Techship product specific web pages for vendor specific Linux integration guides.

Below is a selection of kernel commits relating to cellular module support in Linux kernels:
qmi_wwan: Add support for Fibocom NL678 series
qmi_wwan: Added support for Telit LN940 series
qmi_wwan: Added support for Fibocom NL668 series
USB: serial: option: add support for GosunCn ME3630 RNDIS mode
USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
USB: serial: option: add Simcom SIM7500/SIM7600 (MBIM mode)
USB: serial: option: add Fibocom NL678 series
USB: serial: option: add Telit LN940 series
USB: serial: option: add Fibocom NL668 series
USB: serial: option: add GosunCn ZTE WeLink ME3630
qmi_wwan: apply SET_DTR quirk to the SIMCOM shared device ID

If you use any of the listed cellular modules, drivers and specified USB modes in the commits above, ensure that your kernel version already include the patch or apply it to your build.

Related products
Huawei ME909u-521 - EU/ASIA
Huawei ME909u-523D - US - AT&T
Huawei ME909u-521 Mini PCI Express - EU/ASIA
Huawei ME909u-523D Mini PCI Express - US - AT&T
Sierra Wireless MC7710
Huawei ME909u-521 developer kit
Sierra Wireless MC7750
Sierra Wireless MC7700
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Huawei MU709s-2 LGA
Huawei MU709s-2 devkit
Huawei MS2131i-8 USB-stick
Huawei MU709s-2 mPCIe
Huawei ME909s-821 mPCIe
Huawei ME909s-821 LGA
Huawei ME909s-120 mPCIe EU
Huawei ME909s-120 LGA EU
Huawei MU709s-6 mPCIe
SimCom SIM5360E HSPA+ mPCie EU
SimCom SIM7100E LTE SMT EU
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
SimCom SIM7230 LTE mPCIe EU
Huawei ME906s-158 M.2 EU
Huawei ME909s-120 LGA dev.kit
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
SimCom SIM7100E LTE mPCIe SIM
SimCom SIM5360E HSPA+ mPCie Audio/GPS
Sierra Wireless MC7430 mPCIe
SimCom SIM5360E-mPCIe SIM
Sierra Wireless EM7430 LTE Cat 6
Techship Starter kit Huawei ME909s
SIMCom SIM7500A LTE SMT US
SIMCom SIM5300E HSPA SMT
SIMCom SIM7500A Development kit
Sierra Wireless WP7502
SIMCom SIM7500E LTE SMT EU
SIMCom SIM7500E Development Kit
Huawei MU709s-2 LGA TTS
Welink ME3630 E1C LCC EU
Welink ME3630 E1C mPCIe EU
SIMCom SIM7500E LTE mPCIe EU
Welink ME3630 U1A LCC (US)
Welink ME3630 U1A mPCIe (US)
SIMCom SIM5320A mPCIe
SIMCom SIM7500SA LTE mPCIe Audio
SIMCom SIM7000E CAT-M/NB-IoT SMT
Telit HE910-G HSPA+, GPS, mPCIe
Telit HE910-G-SIM HSPA+, GPS, miniPCIe, SIM card holder
Telit HE910-D HSPA+, miniPCIe, Global
Telit HE910-D-SIM HSPA+, miniPCIe, SIM card holder
Telit LM940A11 LTE CAT-11, GPS, mPCIe
Telit LE910-EU V2 LTE CAT-4, mPCIe
Telit LE910-SV V2 LTE CAT-4, Verizon, mPCIe
Telit LE910-NA V2 LTE CAT-4, AT T, TM, mPCIe
Telit LE910-AU V2 LTE CAT-4, Telstra, mPCIe
Telit HE910-GL SIM UMTS, miniPCIe, SIM card holder
Telit HE910-G (Voice) HSPA+ LGA
Telit HE910-DG HSPA+ LGA
Telit HE910-EUD HSPA LGA
Telit LE910-NA1 LTE CAT-1 LGA
Telit LE910-EU1 LTE CAT-1 LGA
Telit LE910-SV1 LTE CAT-1 LGA
Telit LE910-EU V2 LTE CAT-4 LGA
Telit LE910-NA V2 LTE CAT-4 LGA
Telit LE910D1-E1 LTE CAT-1 LGA
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
SIMCom SIM7000E Development Kit
Huawei MS2372h-153 LTE USB Dongle EU
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
Sierra Wireless EM7565 LTE CAT-12
Welink ME3630 C1C mPCIe CN
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
Huawei MS2372h-517 LTE USB Dongle US
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
Huawei MS2372h-607 LTE USB Dongle Asia
Welink ME3630 E1C M.2 EU
Welink ME3630 E2C CAT-1 M.2 EU
Telit LE910-NA V2 LTE CAT-4, S.SKU, mPCIe
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
Telit LE910-NA1 LTE CAT-1 Developer Kit
Telit LE910-EU1 LTE CAT-1 Developer Kit
Telit LE910-SV1 LTE CAT-1 Developer Kit
SIMCom SIM7020E-SUB KIT Developer kit
SIMCom SIM7000G
SIMCom SIM7020E NB-IoT SMT
SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SIMCom SIM7600E LTE CAT-1 mPCIe
SIMCom SIM7600SA LTE CAT-1 mPCIe
SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
Telit LM960 LTE CAT-18, GPS, mPCIe
Telit LN941 LTE CAT-6, M.2
Sierra Wireless EM7511 LTE CAT-12
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
SIMCom SIM7000G Development Kit
SIMCom SIM7000E CAT-M/NB-IoT PCIE
SIMCom SIM7000G CAT-M/NB-IoT/GSM miniPCIe
SIMCom SIM7600E Development Kit
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
SIMCom SIM7020G-SUB KIT
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910-NA V2 LTE CAT-4, S.SKU LGA
Telit LE910B1-NA S.SKU
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
Telit LE910-SVL LTE CAT-1
Telit HE910-GL HSPA+ LGA
SIMCom SIM7000A CAT-M/NB-IoT SMT Verizon
SIMCom SIM7000A CAT-M/NB-IoT SMT AT&T
SIMCom SIM7906E LTE CAT-6 M.2
SIMCom SIM7906E LTE CAT-6 mPCIe
SIMCom SIM7000A CAT-M/NB-IoT mPCIe
Telit HE910-NAD HSPA+ LGA
Telit LE910-SVG LTE CAT-3 LGA
Telit HE910-NAR HSPA LGA
Telit HE910-D HSPA+ LGA
Telit LE910C1-NA LTE CAT-1 AT&T LGA
Telit LE910C1-NS LTE CAT-1 Sprint LGA
Telit LE910-NAG LTE CAT-3 AT&T LGA
Telit LE910-SVG LTE CAT-3 mPCIe
Telit LE910-NVG LTE CAT-3 LGA
SIMCom SIM7600G-H LTE CAT-4 mPCIe
Telit LE910-NA1 S.SKU
Telit LE910-JN1
Telit LE910C1-AP
Telit LE910C1-EU
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF
Telit LE910-PCI (LE910-SV1)
Telit LE910-PCI (LE910-EU1)
Telit LE910-PCI (LE910-JN1)
Telit LE910-PCI (LE910-NA1)
Telit LE910-PCI (LE910C1-AP)
Telit LE910-PCI (LE910C1-NA)
Telit LE910C1-EU LTE CAT-1 mPCIe
Telit LE910-SV V2 (Reel)
Telit LE910C4-EU LTE CAT-4 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe SIM
GosuncnWelink GM500 U1A CAT-4 M.2
Telit LE910C1-NF
SIMCom SIM7070E CAT-M/NB2
SIMCom SIM7070E Development Kit
Telit LM940A11, HW Rev. 2, LTE CAT-11, GPS, mPCIe
SIMCom SIM7070E mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe SIM
SIMCom SIM7912G LTE CAT-12 M.2
Sierra Wireless WP7702 LTE CAT-M/NB-IoT LGA
Telit LM960A18 LTE CAT-18 mPCIe
Gosuncn GM500 U1A mPCIe (US)
SIMCom SIM7600G-H R2 mPCIe
SIMCom SIM7600NA-H mPCIe
Question

How to collect initial diagnostics data for Sierra Wireless EM/MC74xx and EM75xx series cellular modules when requesting technical support?

Solution

In order to troubleshoot and solve a technical problem, we ask you to please provide information about your system and logs from the related module when creating a technical support ticket.

Please provide a problem description of what exact problem is and in what precise situations it is present.

Describe the host system:
-Hardware (system board, peripherals...)
-Operating system and detailed versions (E.g. Windows, Linux dist, release, kernel...)
-Drivers and driver versions

Identify the precise details of cellular module found on label:
-Model
-SKU/BOM or P/N code
(For RMA returns the IMEI number is required also)

If you are running on a Linux based system, please capture the terminal logs bellow:
uname -a
lsusb
lsusb -t
ifconfig -a
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
dmesg

The log output requested from the commands bellow, can be acquired from the module by accessing one of the USB enumerated serial (COM) interfaces accepting AT commands. (In Windows this is generally found listed as a Modem interface or AT commands serial interface in the device manager and in Linux it is usually found on /dev/ttyUSB2 interface). Send the following commands to the module and capture the text output and include them when creating the the technical support ticket.

Sierra Wireless :
AT
ATE1
ATI
AT!ENTERCND="A710"
AT!PRIID?
AT!IMPREF?
AT!IMAGE?
AT+CFUN?
AT!UIMS?
AT+CPIN?
AT+CREG?
AT+CGREG?
AT+CEREG?
AT+COPS?
AT!GSTATUS?
AT+CGDCONT?
AT$QCPDPP?
AT+CGATT?
AT+CGACT?
AT+CGCONTRDP
AT+CGPADDR
AT!BAND?
AT!BAND=?
AT!LTEINFO?
AT!LTECA?
AT!RXDEN?
AT!PCINFO?
AT!USBCOMP?
AT!USBCOMP=?
AT!SELRAT?
AT!SELRAT=?
AT!USBSPEED?
AT!PCOFFEN?
AT!CUSTOM?
AT!CUSTOM=?
AT!PCTEMP?
AT!PCVOLT?
AT!PCVOLTLIMITS?
AT!HWID?
AT!ERR
AT!BCFWUPDATESTATUS
AT!TMSTATUS?

The support ticket can be created after login at: https://techship.com/technical_support/

Question

How-to guide: How can we control, configure and establish a simple data connection for a cellular module in Linux systems using the open source ModemManager tool for modem control and connection management.

Solution

ModemManager is a open source tool for Linux that can be used to communicate with cellular devices for configuration, status check, connection triggering etc. It is capable of communicate over several types of device control channels such as QMI/RMNET, MBIM, MODEM / AT command etc.

It is hosted by the Freedesktop.org community and driven by Aleksander Morgado and other contributors, please visit https://www.freedesktop.org/wiki/Software/ModemManager/ for latest information, source code, API reference manuals, debugging tips, contribution, mailing list etc.

Keep in mind that ModemManager is not directly developed or driven by cellular device vendors and the compatibility cannot be guaranteed for the specific device you aim to use. Some vendors contribute with code to make their devices fully compatible, while others don't. However many cellular devices can be set to expose standardized types of USB network interface and control channel such as MBIM interface by USB-IF or the Qualcomm proprietary interface QMI that ModemManager will try to identify, and often manage to work successfully with.

Before continuing with ModemManager, a good thing to ensure is that you have common Linux driver modules available in your kernel build.
You can compare your own systems kernel config with the ones listed in the following FAQ:
Common Linux kernel modules and configs necessary for communicating with cellular modules over USB interface
Selections of these are commonly used by cellular devices and need to be available in order to have device drivers correctly loaded when devices are detected.

Start by installing ModemManager and its dependencies to your Linux system.
You can build it from source code release tarball found at freedesktop.org (install instructions included in the archive)
If you have a package manager in your Linux distribution, it can usually be installed through them also.
E.g. on Ubuntu using apt to install it and related dependencies:
apt install modemmanager libmbim-utils libqmi-utils

Keep in mind that Linux distributions sometimes rely on fairly old releases in their repositories and the development of ModemManager, libqmi and libmbim are on-going continuously. So is also the development of the cellular devices when the cellular technologies evolve. It is therefore recommended that you have a fairly recent version of ModemManager, libqmi and libmbim running in your system as well as when it comes to kernel version since the driver modules sometimes acquire patch fixes to be compatible with new chipset features etc.
Check Freedesktop.org pages for details on the latest ModemManager, NetworkManager, Libqmi and Libmbim releases.

Once you've installed ModemManager and rebooted your system, the service daemon should be running already in background.
Mmcli is the related command line interface tool which can be used to interact with ModemManager daemon through command line commands.

Check the version by command:
mmcli -V
<< mmcli 1.13.0
<< Copyright (2011 - 2020) Aleksander Morgado
<< License GPLv2+: GNU GPL version 2 or later
<< This is free software: you are free to change and redistribute it.
<< There is NO WARRANTY, to the extent permitted by law.

Print general mmcli help message:
mmcli --help

ModemManager normally listen, probes and detects cellular devices automatically when operating correctly but a forced scan can be triggered with command:
mmcli --scan-modems
<< successfully requested to scan devices

To list detected cellular devices use command:
mmcli --list-modems
<< /org/freedesktop/ModemManager1/Modem/0 [Sierra Wireless, Incorporated] MC7455

Here ModemManager have detected a Sierra Wireless cellular device and it has here been given the the identifier number 0 by ModemManager.

To acquire more device information and status use the --modem command and identifier value.
mmcli --modem=0
<< -----------------------------
<< General | dbus path: /org/freedesktop/ModemManager1/Modem/0
<< | device id: 3a2f5fad8e91dbf417694f23165017c1f8a6e061
<< -----------------------------
<< Hardware | manufacturer: Sierra Wireless, Incorporated
<< | model: MC7455
<< | firmware revision: SWI9X30C_02.32.11.00 r8042 CARMD-EV-FRMWR2 2019/05/15 21:52:20
<< | carrier config: default
<< | h/w revision: 1.0
<< | supported: gsm-umts, lte
<< | current: gsm-umts, lte
<< | equipment id: 359072066171840
<< -----------------------------
<< System | device: /sys/devices/pci0000:00/0000:00:14.0/usb3/3-2
<< | drivers: qcserial, qmi_wwan
<< | plugin: sierra
<< | primary port: cdc-wdm0
<< | ports: cdc-wdm0 (qmi), wwan1 (net), ttyUSB2 (at), wwan0 (net),
<< | cdc-wdm1 (qmi), ttyUSB1 (gps), ttyUSB0 (qcdm)
<< -----------------------------
<< Status | lock: sim-pin
<< | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (0), sim-puk2 (10)
<< | state: locked
<< | power state: on
<< | signal quality: 0% (cached)
<< -----------------------------
<< Modes | supported: allowed: 3g; preferred: none
<< | allowed: 4g; preferred: none
<< | allowed: 3g, 4g; preferred: 4g
<< | allowed: 3g, 4g; preferred: 3g
<< | current: allowed: 3g, 4g; preferred: 4g
<< -----------------------------
<< Bands | supported: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
<< | eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
<< | eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-29,
<< | eutran-30, eutran-41
<< | current: utran-1, utran-3, utran-4, utran-5, utran-8, utran-2,
<< | eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, eutran-7, eutran-8,
<< | eutran-12, eutran-13, eutran-20, eutran-25, eutran-26, eutran-29,
<< | eutran-30, eutran-41
<< -----------------------------
<< IP | supported: ipv4, ipv6, ipv4v6
<< -----------------------------
<< SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0

A detailed summary of device status, configs and system drivers, paths and IDs are returned.

Currently the device status indicates that inserted SIM card is PIN locked, so a unlock by --pin command is necessary:
mmcli --modem=0 --sim=0 --pin=****
<< successfully sent PIN code to the SIM

Now we can change device state to enabled using command:
mmcli --modem=0 --enable
<< successfully enabled the modem

if we're check device status again we can see that device:
mmcli --modem=0

<< --------------------------------
<< Status | lock: sim-puk2
<< | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (0), sim-puk2 (10)
<< | state: registered
<< | power state: on
<< | access tech: lte
<< | signal quality: 96% (recent)

<< 3GPP | imei: 359072066171840
<< | operator id: 24002
<< | operator name: 3
<< | registration: home
<< --------------------------------
<< 3GPP EPS | ue mode of operation: csps-2
<< --------------------------------
<< SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0


The status output shows that devices is registered in network using LTE technology with a good signal strength.

It is now time to activate the data connection with --simple-connect command.
ModemManager will tie the data bearer for our given subscription APN to the qmi_wwan network interface, typically named wwan0 (unless renamed by Linux distribution or user)
Fill in the details as below but for your modem number, subscription APN and the IP type it can work with (ipv4 / ipv6 ipv4v6)
mmcli -m 0 --simple-connect='apn=data.tre.se,ip-type=ipv4v6'
<< successfully connected the modem

if we check modem status again we can see that a bearer have been established.
mmcli --modem=0

<< --------------------------------
<< Bearer | dbus path: /org/freedesktop/ModemManager1/Bearer/0


The bearer have got identifier number 0 so we can request more details for it to acquire the IP details:

mmcli --modem=0 --bearer=0
<< ------------------------------------
<< General | dbus path: /org/freedesktop/ModemManager1/Bearer/0
<< | type: default
<< ------------------------------------
<< Status | connected: yes
<< | suspended: no
<< | interface: wwan1
<< | ip timeout: 20
<< ------------------------------------
<< Properties | apn: data.tre.se
<< | roaming: allowed
<< | ip type: ipv4v6
<< ------------------------------------
<< IPv4 configuration | method: static
<< | address: 2.68.206.100
<< | prefix: 29
<< | gateway: 2.68.206.101
<< | dns: 80.251.201.177, 80.251.201.178
<< | mtu: 1500
<< ------------------------------------
<< IPv6 configuration | method: static
<< | address: 2a02:aa1:1010:b6bb:6d12:d0dc:978e:3982
<< | prefix: 64
<< | gateway: 2a02:aa1:1010:b6bb:21ea:c721:62c3:9760
<< | dns: 2a02:aa0::55, 2a02:aa0::56
<< | mtu: 1500
<< ------------------------------------
<< Statistics | duration: 450
<< | bytes rx: 6693
<< | attempts: 1
<< | total-duration: 450
<< | total-bytes rx: 6693

From here we can see the IP details we've been assigned by the cellular network.
ModemManager does not assign IPv4 address details to the cellular modules network interface in Linux by itself.
When ModemManager is used in conjunction with NetworkManager and the cellular connection is managed by it, then the IPv4 address details will be collected by NetworkManager through ModemManager and automatically assigned to network interface when connection is established.
If the system does not implement NetworkManager, then the IP and routing configuration needs to be handled by user software/scripting.

Example:
Enable network interface in Linux:
ip link set wwan0 up

Set the IPv4 address acquired from bearer information above, the CIDR subnet mask can always be set to 32:
ip addr add 2.68.206.100/32 dev wwan0

Disable ARP:
ip link set dev wwan0 arp off

Set MTU value acquired from network:
ip link set dev wwan0 mtu 1500

Add a default or other type of route to the cellular network device (e.g. with a metric to set which route to prefer)
ip route add default dev wwan0 metric 200

Add the DNS servers reported by cellular network or use other public/desired ones.
DNS server addresses are handled in different ways depending on the Linux distribution and network manager used. Therefore please refer to related dist documentation for best practice to add / maintain DNS server addresses in your specific system.
sh -c "echo 'nameserver 80.251.201.177' >> /etc/resolv.conf"
sh -c "echo 'nameserver 80.251.201.178' >> /etc/resolv.conf"

We should now have a network interface passing data successfully, we can try it out by doing ping requests:
IPv4 data:
ping -4 -c 4 -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 2.68.206.100 wwan0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=57 time=50.8 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=57 time=48.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=57 time=24.0 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=57 time=44.8 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 23.979/42.115/50.840/10.694 ms

IPv6 data:
ping -6 -c 4 -I wwan0 2600::
PING 2600::(2600::) from 2a02:aa1:1010:b6bb:8962:7405:b81c:7627 wwan0: 56 data bytes
64 bytes from 2600::: icmp_seq=1 ttl=47 time=179 ms
64 bytes from 2600::: icmp_seq=2 ttl=47 time=176 ms
64 bytes from 2600::: icmp_seq=3 ttl=47 time=175 ms
64 bytes from 2600::: icmp_seq=4 ttl=47 time=177 ms

--- 2600:: ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 175.411/176.935/179.268/1.446 ms

Related products
Huawei ME909s-821 mPCIe
Huawei ME909s-821 LGA
Huawei ME909s-120 mPCIe EU
Huawei ME909s-120 LGA EU
SimCom SIM7100E LTE SMT EU
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
SimCom SIM7100E LTE mPCIe SIM
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
SIMCom SIM7500E LTE mPCIe EU
SIMCom SIM7500SA LTE mPCIe Audio
SIMCom SIM7000E CAT-M/NB-IoT SMT
Telit LM940A11 LTE CAT-11, GPS, mPCIe
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
Sierra Wireless EM7565 LTE CAT-12
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
SIMCom SIM7000G
SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SIMCom SIM7600E LTE CAT-1 mPCIe
SIMCom SIM7600SA LTE CAT-1 mPCIe
SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
Telit LM960 LTE CAT-18, GPS, mPCIe
Sierra Wireless EM7511 LTE CAT-12
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
SIMCom SIM7000E CAT-M/NB-IoT PCIE
SIMCom SIM7000G CAT-M/NB-IoT/GSM miniPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
SIMCom SIM7000A CAT-M/NB-IoT SMT Verizon
SIMCom SIM7000A CAT-M/NB-IoT SMT AT&T
SIMCom SIM7906E LTE CAT-6 M.2
SIMCom SIM7906E LTE CAT-6 mPCIe
SIMCom SIM7000A CAT-M/NB-IoT mPCIe
Telit LE910C1-NA LTE CAT-1 AT&T LGA
Telit LE910C1-NS LTE CAT-1 Sprint LGA
SIMCom SIM7600G-H LTE CAT-4 mPCIe
Telit LE910C1-AP
Telit LE910C1-EU
Telit LE910C4-NF
Telit LE910-PCI (LE910C1-AP)
Telit LE910-PCI (LE910C1-NA)
Telit LE910C1-EU LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe SIM
Telit LE910C1-NF
Telit LM940A11, HW Rev. 2, LTE CAT-11, GPS, mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe SIM
SIMCom SIM7912G LTE CAT-12 M.2
Telit LM960A18 LTE CAT-18 mPCIe
Telit LE910C1-EU LTE CAT-1 mPCIe SIM
Telit LE910C1-AP LTE CAT-1 mPCIe SIM
Telit LE910C1-NF LTE CAT-1 mPCIe
Telit LE910C4-AP LTE CAT-4 mPCIe SIM
Telit LE910C4-CN LTE CAT-4 mPCIe
Huawei ME909s-120p V2 mPCIe
Huawei ME909s-120 V2 LGA
Sierra Wireless MC-WP7610 LTE CAT-4 mPCIe
SIMCom SIM7600G-H R2 mPCIe
Question

How can we establish data connection for cellular modules in Windows 8 and Windows 10 systems?

Solution

Microsoft Windows desktop versions starting from Windows 8 and newer have built in data connection manager for WWAN, Wifi etc. that can be used to configure, control and establish the data connection of cellular module that support MBIM interface, which most cellular modules do.

The connection managers settings and controls can be found and accessed on Windows desktop start menu through the network icon (see picture).

The Cellular tab can be found in Windows system settings and if needed the connection APN details can be manually entered through "Advanced options".

Images
Windows 10 connection manager Windows 10 connection settings
Related products
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Huawei MU709s-2 LGA
Huawei MU709s-2 mPCIe
Huawei ME909s-821 mPCIe
Huawei ME909s-821 LGA
Huawei ME909s-120 mPCIe EU
Huawei MU709s-6 mPCIe
SimCom SIM7100E LTE SMT EU
SimCom SM7100A LTE SMT US
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
Huawei ME906s-158 M.2 EU
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
SimCom SIM7100E LTE mPCIe SIM
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
Huawei MU709s-2 LGA TTS
Welink ME3630 E1C LCC EU
Welink ME3630 E1C mPCIe EU
SIMCom SIM7500E LTE mPCIe EU
Welink ME3630 U1A LCC (US)
Welink ME3630 U1A mPCIe (US)
SIMCom SIM7500SA LTE mPCIe Audio
Telit LM940A11 LTE CAT-11, GPS, mPCIe
Telit LE910-EU V2 LTE CAT-4, mPCIe
Telit LE910-SV V2 LTE CAT-4, Verizon, mPCIe
Telit LE910-NA V2 LTE CAT-4, AT T, TM, mPCIe
Telit LE910-AU V2 LTE CAT-4, Telstra, mPCIe
Telit LE910-NA1 LTE CAT-1 LGA
Telit LE910-EU1 LTE CAT-1 LGA
Telit LE910-SV1 LTE CAT-1 LGA
Telit LE910-EU V2 LTE CAT-4 LGA
Telit LE910-NA V2 LTE CAT-4 LGA
Telit LE910D1-E1 LTE CAT-1 LGA
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
Welink ME3630 C1C mPCIe CN
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
Welink ME3630 E1C M.2 EU
Welink ME3630 E2C CAT-1 M.2 EU
Telit LE910-NA V2 LTE CAT-4, S.SKU, mPCIe
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SIMCom SIM7600E LTE CAT-1 mPCIe
SIMCom SIM7600SA LTE CAT-1 mPCIe
SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
Telit LM960 LTE CAT-18, GPS, mPCIe
Telit LN941 LTE CAT-6, M.2
SIMCom SIM7600E Development Kit
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910-NA V2 LTE CAT-4, S.SKU LGA
Telit LE910B1-NA S.SKU
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
Telit LE910C1-NA LTE CAT-1 AT&T LGA
Telit LE910C1-NS LTE CAT-1 Sprint LGA
SIMCom SIM7600G-H LTE CAT-4 mPCIe
Telit LE910-NA1 S.SKU
Telit LE910C1-AP
Telit LE910C1-EU
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF
Telit LE910-PCI (LE910-SV1)
Telit LE910-PCI (LE910-EU1)
Telit LE910-PCI (LE910-JN1)
Telit LE910-PCI (LE910-NA1)
Telit LE910-PCI (LE910C1-AP)
Telit LE910-PCI (LE910C1-NA)
Telit LE910C1-EU LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe SIM
Telit LE910C1-NF
Telit LM940A11, HW Rev. 2, LTE CAT-11, GPS, mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe SIM
Telit LM960A18 LTE CAT-18 mPCIe
Telit LE910C1-EU LTE CAT-1 mPCIe SIM
Gosuncn GM500 U1A mPCIe (US)
Question

How to set up a simple data connection over Qualcomm QMI interface using libqmi and driver qmi_wwan in Linux?

Solution

Several cellular modules based on Qualcomm chipsets implements the Qualcomm MSM QMI RMNET Interface.
There is a open source Linux in-kernel driver supporting this interface called qmi_wwan. The helper library libqmi can be used to communicate with the cellular devices over the interface and do cellular module configurations to control and trigger the data connection over the cellular network.

Install the libqmi Linux library using e.g. your OS package manager like apt etc.
(Check out the official libqmi page here: https://www.freedesktop.org/wiki/Software/libqmi/)
Please be aware that libqmi is a 3rd party software not distributed by the chipset or module vendors. So full compatibility on all available commands should not be expected.
There are Qualcomm chipset standard QMI commands and in addition vendors specific custom QMI commands not supported by all manufacturers, but still available in libqmi. There are also new QMI commands not supported in older chipsets and vice versa, old QMI commands no longer supported in new chipset series.

Verify that you have the Linux in-kernel qmi_wwan driver installed and loaded for the cellular modules QMI interface endpoint over USB:
lsusb -t

Can look like this:
...
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
...

If the driver is not loaded correctly, please verify that the cellular module is set to expose QMI RMNET network interface endpoint in its configuration. How to do so can often be found in AT commands guides, Linux implementation guides and similar from the cellular module vendors.

Libqmi library include a command line tool qmicli that can be used in a more convenient way communicate directly with the module over QMI interface for testing, scripting and troubleshooting.

The qmicli help will output information about all commands available:
qmicli --help-all

The qmi_wwan network control interfaces for modules are usually named like cdc-wdm# under /dev/ path.
Use the attribute --device or -d to specify it for qmicli in your command execution:
qmicli --device=/dev/cdc-wdm0
qmicli -d /dev/cdc-wdm0

In order to ease usage of the QMI interface and handle parallell command requests, libqmi include a proxy function to handle it correctly on the QMI interface, To use it, make sure to have the the attribute present in the qmicli command:
-p
--device-open-proxy

Example commands on how to communicate
Request module manufacturer:
qmicli -p -d /dev/cdc-wdm0 --dms-get-manufacturer

Get module model:
qmicli -p -d /dev/cdc-wdm0 --dms-get-model

Get firmware version:
qmicli -p -d /dev/cdc-wdm0 --dms-get-revision

Get module IDs (IMEI etc.):
qmicli -p -d /dev/cdc-wdm0 --dms-get-ids

Get SIM card status:
qmicli -p -d /dev/cdc-wdm0 --uim-get-card-status

The script qmi-network can be used to establish a simple data connection, it will automatically try to verify the IP framing type match them correctly between qmi_wwan driver and module (Raw-IP vs. 802.3 IP framing).

Create a config file containing your network operator APN details and if needed, the username and password.
Save it e.g. in the default location /etc/qmi-network.conf
The parameter --profile=[PATH] can be used to define the path to config when executing qmi-network.

Example config file content: APN details and enabling of proxy usage.
Add the username and password lines if it is needed for your APN:
APN=my-network-operators-apn
APN_USER=my-apn-username
APN_PASS=my-apn-password
PROXY=yes

Once the APN information is saved, you can start the network connection with the command:
qmi-network /dev/cdc-wdm0 start

The name of the related network interface in the Linux system can be acquired with the command:
qmicli -p -d /dev/cdc-wdm0 --get-wwan-iface

Once you see "Network started successfully" message, you can send a DHCP request on the network interface.
Please note that not all DHCP clients in Linux can handle Raw-IP format but udhcpc support it.
udhcpc -q -f -i wwan0

The IP information from the cellular network can also be acquired and set manually to the network interface by the user or scripting, the correct address details can be acquired from the cellular module over QMI with command:
qmicli -p -d /dev/cdc-wdm0 --wds-get-current-settings

If the connection was successfully set up and established, you now have a data connection. Ping request to a remote server using the cellular network interface can prove this:
ping -I wwan0 8.8.8.8

The ifconfig Linux tool can show the current details for the network interface:
ifconfig wwan0

To bring down and stop the cellular network connection, please use the stop command bellow:
qmi-network /dev/cdc-wdm0 stop

The ModemManager tool for Linux is based on libqmi. NetworkManager and ModemManager . Please note however that these two tools expect the cellular module interfaces to only be used by them so if you manually want to use the libqmi library or AT commands interfaces, please turn off/disable ModemManager and NetworkManager first.

The libqmi is a generic open source library for Linux systems and QMI protocol from Qualcomm, therefor there are several commands only working on selected devices and not necessarily on supported in the specific device you use, resulting in an error message.

Related products
Sierra Wireless MC7304
Sierra Wireless MC7354
SimCom SIM7100E LTE SMT EU
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
Sierra Wireless MC7455 LTE Cat 6
Sierra Wireless EM7455 LTE Cat 6
SimCom SIM7100E LTE mPCIe SIM
Sierra Wireless MC7430 mPCIe
Sierra Wireless EM7430 LTE Cat 6
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
SIMCom SIM7500E LTE mPCIe EU
SIMCom SIM7500SA LTE mPCIe Audio
Telit LM940A11 LTE CAT-11, GPS, mPCIe
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
Sierra Wireless EM7565 LTE CAT-12
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
Fibocom NL668-EAU mPCIe LTE CAT-4
SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SIMCom SIM7600E LTE CAT-1 mPCIe
SIMCom SIM7600SA LTE CAT-1 mPCIe
SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
Telit LM960 LTE CAT-18, GPS, mPCIe
Sierra Wireless EM7511 LTE CAT-12
Sierra Wireless EM7565, CAT-12, M.2 CBRS Enabled
Fibocom NL678-E mPCIe LTE CAT-6
SIMCom SIM7600E Development Kit
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
SIMCom SIM7906E LTE CAT-6 M.2
SIMCom SIM7906E LTE CAT-6 mPCIe
Telit LE910C1-NA LTE CAT-1 AT&T LGA
Telit LE910C1-NS LTE CAT-1 Sprint LGA
SIMCom SIM7600G-H LTE CAT-4 mPCIe
Telit LE910C1-AP
Telit LE910C1-EU
Telit LE910C4-NF
Telit LE910C1-EU LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe
Telit LE910C4-EU LTE CAT-4 mPCIe SIM
Telit LE910C1-NF
Telit LM940A11, HW Rev. 2, LTE CAT-11, GPS, mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe SIM
SIMCom SIM7912G LTE CAT-12 M.2
Telit LM960A18 LTE CAT-18 mPCIe
Telit LE910C1-EU LTE CAT-1 mPCIe SIM
Telit LE910C1-AP LTE CAT-1 mPCIe SIM
Telit LE910C1-NF LTE CAT-1 mPCIe
Telit LE910C4-AP LTE CAT-4 mPCIe SIM
Telit LE910C4-CN LTE CAT-4 mPCIe
Question

How to establish a basic data connection using Sierra Wireless GobiNet driver and AT commands

Solution

A basic data connection can be established with AT commands when the Sierra Wireless module is used in USB mode: Qmi/Rmnet. This is supported when using the Sierra Wireless Windows drivers or the GobiNet + GobiSerial drivers. Please be aware that this is not supported when using the Linux in-kernel driver qmi_wwan.

Download and install the host OS drivers from the Techship product webpage. For Linux drivers follow the instructions in the "Linux QMI SDK Application Developers Guide". Make sure to build the GobiNet driver with RAWIP parameter set to 1.

When the drivers are set up correctly in Linux the USB endpoints should be bound as following:

usb-devices
T: Bus=02 Lev=01 Prnt=01 Port=03 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0
D: Ver= 3.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=1199 ProdID=9091 Rev=00.06
S: Manufacturer=Sierra Wireless, Incorporated
S: Product=Sierra Wireless EM7565 Qualcomm® Snapdragon™ X16 LTE-A
S: SerialNumber=UF74248663020633
C: #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=GobiSerial
I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=GobiSerial
I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=GobiSerial
I: If#=0x8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=GobiNet

First, start by enabling the modules network interface bound to the GobiNet driver, default name is usually wwan0. If not found check e.g in "dmesg" what it has been renamed to. Write:

ip link set wwan0 up

Now access the serial modem interface accepting AT commands with a serial interpreter.
In Windows it is the interface found under modem tree in device manager. You can e.g. use a tool like Teraterm to communicate manually with the module.

In Linux the GobiSerial interfaces are listed as ttyUSB interfaces in the /dev/ folder, usually /dev/ttyUSB2 is bound to the modem interface accepting AT commands. Tools like minicom can be used to communicate over a serial interface. For example: minicom -D /dev/ttyUSB2

Check that you get an OK reply from the command AT. Now perform normal initiation commands to have module registered in network, such as setting normal operational mode, entering PIN code if required for SIM card etc.

Define correct APN for your cellular subscription with the AT+CGDCONT command if it is not already correctly entered:

AT+CGDCONT=1, "IPV4V6", "your.operators.apn"

Now you can activate the data connection with the command AT!SCACT=state,pid. For example activating the connection for CGDCONT profile 1:

AT!SCACT=1,1

Once OK is received, you can go ahead and execute a DHCP client on the GobiNet network interface from your Linux host. (In Windows this is all done automatically). For example uou can use dhclient in ubuntu:

dhclient -v wwan0

Now we should have a working network connection in your system over the modules network interface. You can for example test it in Linux by pinging Googles name server:

ping -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 10.70.245.136 wwan0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=53 time=176 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=53 time=79.6 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=53 time=69.5 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=53 time=67.6 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=53 time=55.5 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4008ms
rtt min/avg/max/mdev = 55.533/89.558/175.584/43.687 ms

Please relate to the modules AT commands guide for full explanations of the AT commands. This is a brief example of how to establish a network connection. For automating the procedure additional status checks are highly recommended as well as looking into integrating Sierra Wireless Linux QMI SDK instead of only relying on legacy AT commands.

In Windows 8 and later systems it is recommended to set the module in MBIM USB mode instead of the default QMI/RMNET mode to enable support for Windows built in connection manager. Please see the FAQ section for more details on how to do so.

Question

We cannot acquire an DHCP address over qmi_wwan driver when using Raspbian Linux OS?

Solution

Raspbian uses dhcpd to probe all available network interfaces found in the system, which is problematic for the qmi_wwan driver interface, if it is done before being configured properly when using cellular modules supporting only Raw-IP.

This can be avoided by setting dhcpd to deny the related cellular module network interface (most often named wwan0 by the system).
Add to the /etc/dhcpcd.conf file in Raspbian the following line (in the end):
denyinterfaces wwan0

Now, restart the system (preferably re-power it) so cellular module fully restarts also.

At next startup, the settings should be applied and you can now configure and use the qmi interface as described in some of the others faq's, found on the Techship webpage.

Question

Windows system show multiple network devices for my Sierra Wireless MC74-, EM74-series cellular module

Solution

Sending the following AT Commands to the modules MODEM Serial COM port interface will change the USB profile for exposed interfaces towards host system.

Setting for DIAG, NMEA, MODEM, RMNET0 interface: (Linux - QMI with one network interface)
1. AT!ENTERCND=”A710”
2. AT!USBCOMP=1,1,10D
3. AT!RESET

Setting for DIAG, NMEA, MODEM, RMNET0, RMNET1 interface: (Linux - QMI with two network interfaces)
1. AT!ENTERCND=”A710”
2. AT!USBCOMP=1,1,50D
3. AT!RESET

Setting for DIAG, NMEA, MODEM, MBIM interface: (Enabling MBIM mode supported by Windows 8 & 10)
1. AT!ENTERCND=”A710”
2. AT!USBCOMP=1,1,100D
3. AT!RESET

Beware to not disable the MODEM serial interface, leaving module inaccessible for AT commands.

Question

What firmware versions are related to the specific SKU/BOM codes of cellular modules?

Solution

Sierra Wireless
10839 Sierra Wireless EM7565, CAT-12, M.2 CBRS ENABLED
SKU: 1104207 Firmware: 01.07.02.00 GENERIC

10692 Sierra Wireless EM7565 LTE CAT-12 M.2
SKU: 1103520 Firmware: 01.07.02.00 GENERIC

10375 Sierra Wireless EM7455 LTE Cat 6
SKU: 1103582 Firmware: 02.24.05.06 GENERIC/AT&T/SPRINT/VERIZON
SKU: 1103780 Firmware: 02.24.05.06 GENERIC/AT&T/SPRINT/VERIZON

10427 Sierra Wireless EM7430
SKU: 1103733 Firmware: 02.24.05.06 GENERIC/DOCOMO/KDDI/SOFTBANK/TELSTRA

10374 Sierra Wireless MC7455 LTE Cat 6
SKU: 1103789 Firmware: 02.24.05.06 GENERIC/AT&T/BELL/ROGERS/SPRINT/TELUS/US CELLULAR/VERIZON/VODAFONE

10397 Sierra Wireless MC7430 mPCIe
SKU: 1103737 Firmware: 02.24.05.06 GENERIC/DOCOMO/KDDI/SOFTBANK/TELSTRA

10840 Sierra Wireless EM7511
SKU: 1103989 Firmware: 01.07.02.00 AT&T/GENERIC

Huawei:
10278 Huawei ME909s-120 mPCIe:
SKU: 55010273 Firmware: 11.617.01.00.00
SKU: 55010782 Firmware: 11.617.09.00.00
SKU: 55010946 Firmware: 11.617.14.00.00
SKU: 55010983 Firmware: 11.617.15.00.00

10279 Huawei ME909s-120 LGA EU:
SKU: 55010781 Firmware: 11.617.09.00.00
SKU: 55010782 Firmware: 11.617.15.00.00

Simcom:
10689 SIMCom SIM7600E-H LTE SMT EU
SKU: S2-107EQ-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107EQ-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107EQ-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107EQ-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107EQ-Z1W51 Firmware: LE11 B11 SIM7600M22

10690 SIMCom SIM7600E-H LTE mPCIe EU
SKU: S2-107ER-Z1W2L Firmware: LE11 B07 SIM7600M22
SKU: S2-107ER-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107ER-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107ER-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107ES-Z1W51 Firmware: LE11 B11 SIM7600M22

10818 SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
SKU: S2-107ES-Z1W27 Firmware: Firmware: LE11B07SIM7600M22
SKU: S2-107ES-Z1W2L Firmware: LE11B08SIM7600M22
SKU: S2-107ES-Z1W3S Firmware: LE11B09SIM7600M22
SKU: S2-107ES-Z1W4J Firmware: LE11B10SIM7600M22
SKU: S2-107ES-Z1W51 Firmware: LE11B11SIM7600M22

10710 SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SKU: S2-107Q0-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107Q0-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107Q0-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107Q0-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107Q0-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600SA-H SMT type
SKU: S2-107BH-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107BH-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107BH-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107BH-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107BH-Z1W51 Firmware: LE11 B11 SIM7600M22

10757 SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SKU: S2-107KX-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107KX-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107KX-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107KX-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107KX-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600SA-H LTE CAT 4 -mPCIE with Audio
SKU: S2-107KY-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107KY-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107KY-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107KY-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107KY-Z1W51 Firmware: LE11 B11 SIM7600M22

10810 SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SKU: S2-107QZ-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107QZ-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107QZ-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107QZ-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600E SMT type
SKU: S2-107EP-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107EP-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10812 SIMCom SIM7600E CAT-1 mPCIe
SKU: S2-107ET-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107ET-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600E LTE CAT 1 -mPCIE with Audio
SKU: S2-107EV-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107EV-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10813 SIMCom SIM7600SA LTE CAT-1 mPCIe
SKU: S2-107KV-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107KV-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600SA SMT type
SKU: S2-107BG-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107BG-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600SA LTE CAT 1 -mPCIE with Audio
SKU: S2-107KW-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107KW-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10305 SimCom SIM7100 LTE mPCIe US
SKU: S2-106EW-Z1L7X Firmware: 4534B03SIM7100A
SKU: S2-106EW-Z1L72 Firmware: 4534B03SIM7100A

Question

What firmware versions are related to the specific SKU/BOM codes of cellular modules?

Solution

Sierra Wireless
10839 Sierra Wireless EM7565, CAT-12, M.2 CBRS ENABLED
SKU: 1104207 Firmware: 01.07.02.00 GENERIC

10692 Sierra Wireless EM7565 LTE CAT-12 M.2
SKU: 1103520 Firmware: 01.07.02.00 GENERIC

10375 Sierra Wireless EM7455 LTE Cat 6
SKU: 1103582 Firmware: 02.24.05.06 GENERIC/AT&T/SPRINT/VERIZON
SKU: 1103780 Firmware: 02.24.05.06 GENERIC/AT&T/SPRINT/VERIZON

10427 Sierra Wireless EM7430
SKU: 1103733 Firmware: 02.24.05.06 GENERIC/DOCOMO/KDDI/SOFTBANK/TELSTRA

10374 Sierra Wireless MC7455 LTE Cat 6
SKU: 1103789 Firmware: 02.24.05.06 GENERIC/AT&T/BELL/ROGERS/SPRINT/TELUS/US CELLULAR/VERIZON/VODAFONE

10397 Sierra Wireless MC7430 mPCIe
SKU: 1103737 Firmware: 02.24.05.06 GENERIC/DOCOMO/KDDI/SOFTBANK/TELSTRA

10840 Sierra Wireless EM7511
SKU: 1103989 Firmware: 01.07.02.00 AT&T/GENERIC

Huawei:
10278 Huawei ME909s-120 mPCIe:
SKU: 55010273 Firmware: 11.617.01.00.00
SKU: 55010782 Firmware: 11.617.09.00.00
SKU: 55010946 Firmware: 11.617.14.00.00
SKU: 55010983 Firmware: 11.617.15.00.00

10279 Huawei ME909s-120 LGA EU:
SKU: 55010781 Firmware: 11.617.09.00.00
SKU: 55010782 Firmware: 11.617.15.00.00

Simcom:
10689 SIMCom SIM7600E-H LTE SMT EU
SKU: S2-107EQ-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107EQ-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107EQ-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107EQ-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107EQ-Z1W51 Firmware: LE11 B11 SIM7600M22

10690 SIMCom SIM7600E-H LTE mPCIe EU
SKU: S2-107ER-Z1W2L Firmware: LE11 B07 SIM7600M22
SKU: S2-107ER-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107ER-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107ER-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107ES-Z1W51 Firmware: LE11 B11 SIM7600M22

10818 SIMCom SIM7600E-H LTE CAT 4 -mPCIE with Audio
SKU: S2-107ES-Z1W27 Firmware: Firmware: LE11B07SIM7600M22
SKU: S2-107ES-Z1W2L Firmware: LE11B08SIM7600M22
SKU: S2-107ES-Z1W3S Firmware: LE11B09SIM7600M22
SKU: S2-107ES-Z1W4J Firmware: LE11B10SIM7600M22
SKU: S2-107ES-Z1W51 Firmware: LE11B11SIM7600M22

10710 SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SKU: S2-107Q0-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107Q0-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107Q0-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107Q0-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107Q0-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600SA-H SMT type
SKU: S2-107BH-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107BH-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107BH-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107BH-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107BH-Z1W51 Firmware: LE11 B11 SIM7600M22

10757 SIMCom SIM7600SA-H LTE CAT-4 mPCIe
SKU: S2-107KX-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107KX-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107KX-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107KX-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107KX-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600SA-H LTE CAT 4 -mPCIE with Audio
SKU: S2-107KY-Z1W27 Firmware: LE11 B07 SIM7600M22
SKU: S2-107KY-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107KY-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107KY-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107KY-Z1W51 Firmware: LE11 B11 SIM7600M22

10810 SIMCom SIM7600SA-H LTE CAT-4 mPCIe with SIM holder
SKU: S2-107QZ-Z1W2L Firmware: LE11 B08 SIM7600M22
SKU: S2-107QZ-Z1W3S Firmware: LE11 B09 SIM7600M22
SKU: S2-107QZ-Z1W4J Firmware: LE11 B10 SIM7600M22
SKU: S2-107QZ-Z1W51 Firmware: LE11 B11 SIM7600M22

SIM7600E SMT type
SKU: S2-107EP-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107EP-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10812 SIMCom SIM7600E CAT-1 mPCIe
SKU: S2-107ET-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107ET-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600E LTE CAT 1 -mPCIE with Audio
SKU: S2-107EV-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107EV-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10813 SIMCom SIM7600SA LTE CAT-1 mPCIe
SKU: S2-107KV-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107KV-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600SA SMT type
SKU: S2-107BG-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107BG-Z1W4D Firmware: LE11 B02 SIM7600M21-A

SIM7600SA LTE CAT 1 -mPCIE with Audio
SKU: S2-107KW-Z1W2P Firmware: LE11 B01 SIM7600M21-A
SKU: S2-107KW-Z1W4D Firmware: LE11 B02 SIM7600M21-A

10305 SimCom SIM7100 LTE mPCIe US
SKU: S2-106EW-Z1L7X Firmware: 4534B03SIM7100A
SKU: S2-106EW-Z1L72 Firmware: 4534B03SIM7100A

Question

How can we use Sierra Wireless MC/EM74 and EM75 series cellular modules in Linux with the MBIM control and data interface?

Solution

The Sierra Wireless MC/EM74 and EM75 series cellular modules can expose the Mobile Broadband Interface Model (MBIM) Interface.

There is a open source Linux in-kernel driver supporting MBIM interface and it is called cdc_mbim. The library libmbim can be used to communicate with the cellular devices over the interface and do necessary configurations to trigger the data connection over the cellular network.

First install the libmbim and libmbim-utils Linux library using your system package manager like apt etc. (more details about libmbim here: https://www.freedesktop.org/wiki/Software/libmbim/)

Check with lsusb that you have the Sierra wireless module loaded, vid:pid value 1199:9091 or 1199:9071 should be present.
lsusb
Bus 002 Device 003: ID 1199:9091 Sierra Wireless, Inc.
or:
Bus 002 Device 003: ID 1199:9071 Sierra Wireless, Inc.

Verify with lsusb -t that the Linux in-kernel cdc_mbim driver is correctly loaded for the cellular module. It can look e.g. like this:
lsusb -t
...
|__ Port 3: Dev 3, If 0, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 3: Dev 3, If 2, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 3: Dev 3, If 3, Class=Vendor Specific Class, Driver=qcserial, 5000M
|__ Port 3: Dev 3, If 12, Class=Communications, Driver=cdc_mbim, 5000M
|__ Port 3: Dev 3, If 13, Class=CDC Data, Driver=cdc_mbim, 5000M
...

If this is not the case, you will have to change USB end points the cellular module exposes. This can be done through AT commands sent to the modules serial interfaces accepting AT commands. Usually located at dev/ttyUSB2 if the qcserial drivers are correctly loaded.

MC74xx/EM74xx series:
AT!ENTERCND="A710"
AT#USBCOMP=1,1,100D
AT!RESET

EM75xx series:
AT!ENTERCND="A710"
AT#USBCOMP=1,3,100D
AT!RESET

(Applications like Minicom or Picocom can be used to send AT commands over the serial interfaces)

Should you have no serial interface loaded, it is because the driver has not been loaded for the USB serial endpoints due to missing vid:pid values in the qcserial driver. You can then use the commands bellow to temporarily load the driver for new vid:pid combinations.
modprobe qcserial
EM75 series:
echo 1199 9091 > /sys/bus/usb-serial/drivers/qcserial/new_id
MC74xx/EM74xx series:
echo 1199 9071 > /sys/bus/usb-serial/drivers/qcserial/new_id

When you have changed the cellular modules USB endpoint configuration to expose MBIM interface and module have restarted, then you can use libmbim's command line interface to control the cellular module.

Using libmbim with the command line interface mbimcli:
List all available options for mbimcli:
mbimcli --help-all

Check version
mbimcli --version

The cellular modules mbim interface is usually named cdc-wdm* among the devices. For mbimcli this is defined by --device=/dev/cdc-wdm0 parameter. You should also use the proxy function to enable parallel commands to be sent to module even if the interface already is in use by a data connection. This is done by including --device-open-proxy or -p in every mbimcli requst to module.
Command example to query device capabilities and information (firmware & IMEI code etc.):
mbimcli --device=/dev/cdc-wdm0 --device-open-proxy --query-device-caps

The libmbim tool: mbim-network can be used to establish a simple data connection.
First create a config file containing your network operators APN details. Save it in the default location where mbim-network searches for the file: /etc/mbim-network.conf .
The parameter --profile=[PATH] can be used to alter this path when executing mbim-network.

Save the APN details, (and username, password and authentication type if necessary) into the configuration file:
APN=
APN_USER=
APN_PASS=
APN_AUTH=
PROXY=yes

How to start a data connection after configuration file is in place:
Enter SIM PIN (if necessary for SIM card):
mbimcli -d /dev/cdc-wdm0 -p --enter-pin=1234

Start the mbim data connection with command bellow, if successful it will print "Network started successfully"
mbim-network /dev/cdc-wdm0 start

You can now execute the mbim-set-ip script (download found bellow related to this FAQ) with sufficient system privileges:
./mbim-set-ip /dev/cdc-wdm0 wwan0

This script will collect the network interface IP configurations from the cellular module over MBIM interface using mbimcli, parse them and apply them to the network interface in Linux, this because DHCP requests are generally not supported over MBIM interfaces.

Once you have started the data connection and set the details with the mbim-set-ip script you should be able to ping the data connection:
IPv4 ping: (only supported if IPv4 address was acquired from cellular module)
ping -4 -I wwan0 8.8.8.8
ping -4 -I wwan0 google.com

IP v6 ping: (only supported if IPv6 address was acquired from cellular module)
ping -6 -I wwan0 2001:4860:4860::8888
ping -6 -I wwan0 google.com

The cellular data connection can be disconnected by commands:
Stop mbim data connection:
mbim-network /dev/cdc-wdm0 stop

Set network interface down:
ip link set wwan0 down

Other useful commands:
Query device capabilities and information (firmware & IMEI code etc.):
mbimcli -d /dev/cdc-wdm0 -p --query-device-caps

Query SIM card information:
mbimcli -d /dev/cdc-wdm0 -p --query-subscriber-ready-status

Query network registration state:
mbimcli -d /dev/cdc-wdm0 -p --query-registration-state

Query connection ip information:
mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration=0

Test setup:
Software: Ubuntu server 18.04 LTS with kernel 4.15.0-23-generic and mbimcli 1.14.2
Hardware: Sierra Wireless EM7565 with firmware SWI9X50C_01.07.00.00 on Aaeon UP Squared host board with 10703 M.2 to USB 3.0 Adapter.

Question

How can we use the Linux NetworkManager and ModemManager applications that are built into many recent Linux desktop distributions (such as Ubuntu) with Sierra Wireless MC/EM74 and EM75 series cellular module to establish and set up a data connection?

Solution

When using NetworkManager and ModemManager that are pre-installed in many common Linux distributions, best compatibility can be reached when the cellular module is set to expose the MBIM interface endpoints to the host system over the USB interface. The MBIM interface driver is often automatically detected and loaded without the need to configure and add additional drivers to the kernel via rebuild.

In factory default configuration the Sierra Wireless modules do expose the QMI interfaces as well as a set of serial interfaces, this is the correct USB endpoints if the modules are used with the Sierra Wireless recommended GobiNet and GobiSerial drivers.

However if you want to use the module with MBIM interface instead, you can change the exposed USB endpoint configuration by sending the module the following AT command on the Modem serial interface (usually dev/ttyUSB2 in Linux systems):

MC74xx/EM74xx series:
AT!ENTERCND="A710"
AT#USBCOMP=1,1,100D
AT!RESET

EM75xx series:
AT!ENTERCND="A710"
AT#USBCOMP=1,3,100D
AT!RESET

(please note ModemManager can occupy and interfere on the Modem/AT serial interface so it is recommended to stop its process first)
This will configure and reset the module and when module is re-detected in the host system again, the endpoints exposed have changed and the cdc_mbim driver should have been automatically loaded for the cellular module, this can be verified with the command:
lsusb -t

By restarting ModemManager and NetworkManager or the complete host system, the Sierra Wireless cellular module should be automatically detected by both ModemManager as well as NetworkManager.

The graphical user interface in the Linux operating system can now be used to configure the PIN code and your network operators APN connection details and establish the data connection.

If you want to control NetworkManager by Linux command line, a guide and example is well documented in the following guides:

ModemManager:
https://docs.ubuntu.com/core/en/stacks/network/modem-manager/docs/configuring-cellular-connections

NetworkManager:
https://docs.ubuntu.com/core/en/stacks/network/network-manager/docs/configure-cellular-connections

Please note that DHCP clients are most often not supported for the cellular modules when MBIM interface is used, therefore this IP connection information should be collected via the ModemManager from the modules data bearer details. NetworkManager will do this automatically for you, so it is recommended to use NetworkManager together with ModemManager also when possible.

Question

How do we use the GNSS location tracking (GPS) functionality of the Sierra Wireless EM/MC74** series cellular modules?

Solution

The Sierra Wireless EM/MC74 series modules include a GNSS tracker that can be enabled to acquire location data.

Pre-requirements:
EM/MC74 series module:
Connected to host system with sufficient power supply and correct drivers installed in the host system.

GNSS/GPS antenna:
The GNSS antenna should have clear sky view without obstacles in the way and be connected to the cellular modules antenna connector marked "GPS". If a passive antenna is used the antenna cable should be kept very short (preferably bellow 1 meter) as GNSS signals are very weak and not placed near interference sources.

Details of the available AT commands related to GNSS functionality are described in the "Sierra Wireless EM74XX and MC74XX AT Command Reference Manual" chapter 7: GNSS Commands.

The serial interface accepting AT commands is usually found under /dev/ttyUSB2 in Linux systems and under Modem tab in Windows Device manager (opening the device properties and Modem tab will show its given COM port number in the Windows system).

A basic GNSS tracking session outputting the location data on the NMEA serial interface can be started with the following AT command
AT!GPSTRACK=fixType,maxTime,maxDist,fixCount,fixRate

Bellow command starts a standalone tracking with 255 seconds timeout value, 250 meter accuracy, continuous tracking, fixed data output rate every second on the NMEA virtual serial interface:
AT!GPSTRACK=1,255,250,1000,1

Depending on if an GNSS antenna with or without low noise amplifier (active/passive antenna) are used, the AT+WANT command can adjust if the antenna power supply of 3 volt should be enabled or disabled.
Passive GPS antenna:
AT+WANT=0
Active GPS antenna:
AT+WANT=1

A GNSS tracking session can be interrupted and ended with the command:
AT!GPSEND

In Linux applications it is recommended to use the Sierra Wireless provided GobiNet and GobiSerial drivers for optimal performance. If the Linux in-kernel drivers are used, it might be needed also to send the bellow sentence to the ttyUSBx that represents the NMEA serial interface in order to activate the data stream on the interface:
$GPS_START

The antenna connector used by the GPS tracker can be either through the dedicated GNSS port or it can be combined with the Rx Diversity antenna located on the AUX marked connector. This is selected by changing a parameter with the AT!CUSTOM command:

To select usage of the dedicated GNSS antenna connector on cellular module, execute:
AT!ENTERCND="A710"
AT!CUSTOM="GPSSEL",0
This will select usage of the dedicated GPS antenna slot (Default value)

For further details on how to configure the GPS for different application and scenarios, such as using Assisted GPS, or changing output formats etc. please relate to the AT commands reference.

Question

Why should we use USB3 instead of USB2 as host system data interface if the cellular module can support both?

Solution

Cellular modules supporting higher data throughput rates like LTE Advanced, category 6 and above (300Mbps downlink and 50Mbps uplink) often support both USB3 interface as well as USB2 interface towards the host system.

It is recommended to implement and use the USB3 data interface rather than the older USB2 interface on these modules between host system and the cellular module. This because USB3 can support around 10 times higher data throughput rate compared to USB2 and avoid a possible bottleneck / limitation in the data interface between host and cellular module.

If a miniPCIe based cellular module implementing USB3 are used, please verify that conflicts don't occur towards your hosts miniPCIe socket, as the USB3 interface is not implemented by default in the miniPCIe standard and therefore signal collisions can happen between USB3 pins and PCIe data interface pins situated on same locations. Refer to the cellular module hardware guides and host system hardware guides to verify this.

Question

How can we capture DM serial port logs for Sierra Wireless EM/MC series cellular modules in Linux?

Solution

In the Sierra Wireless QMI SDK downloadable archive there is a a DM log tool in the tools folder.
Run the dmcapture.sh script with desired filter, and the ttyUSB0 (DM port) device selected.

E.g. like this:
sudo ./dmcapture.sh -l -d /dev/ttyUSB0 -o testlog -f ./filters/v11026_Generic_GSM_WCDMA_LTE_IP.sqf

This will create a log file that can be sent for analyze and debug to Sierra Wireless.

Question

The Sierra Wireless EM74-series modules cannot get a fix on GPS/Satellite navigation system even if I have connected the antenna correctly?

Solution

The Sierra Wireless EM74-series modules can be adjusted to read the GPS signals from either the AUX/Diversity antenna connector or the dedicated GPS antenna connector on the module.

This can be configured through the AT!CUSTOM commands:
GPSSEL
0 = Use dedicated GPS antenna (Default)
1 = Use shared GPS/Rx diversity antenna

For example like this:
AT!ENTERCND="A710"
AT!CUSTOM="GPSSEL",0
AT!RESET

Now the dedicated GPS antenna port on module will be used for satellite location services.

Question

The Sierra Wireless EM73, EM74 and EM75 series M.2 modules are not detected in the host system when used with the M.2 to USB adapter board? (USBM2, USB3M2)

Solution

Sierra Wireless EM73, EM74 and EM75 series M.2 modules DPR pin 25 compatibility with Bplus M.2 key B to USB adapters.

When using the Bplus USB3M2 and USBM2 adapter boards you will need to change the state of the jumper JP1 on the USB adapter board. This controls the Dynamic Power Control (DPR) pin in the M.2 socket to the cellular module.

Please remove the pin jumper piece and leave all 3 pins not connected / floating. This will allow the module to operate normally.

After changing this jumper state and powering on the module and adapter board, you should see the module appear and boot up normally in the host system device.

For further details, please relate to the Sierra Wireless related product technical specification as well as the assembly guide for the adapter boards.

You might also be interested in