TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS

Register

Sierra Wireless EM7565 M.2

Article Number: 11194
Brand: Sierra Wireless
Supplier number:

The Sierra Wireless EM7565 module is part of the EM Series offering global 4G coverage, unprecedented LTE speeds, bandwidth, and network performance on the M.2 form factor commonly used in networking equipment. This is the last 4G module you will need before migrating to 5G. Leveraging LTE-LAA and CBRS unlicensed bands and carrier aggregation, this LTE-Advanced Pro Cat-12 embedded module delivers up to 600Mbps downlink speed and 150Mbps uplink speed, offering global 4G coverage on a single module. With automatic fallback to 3G networks and integrated GNSS receiver (GPS, GLONASS, Beidou, and Galileo satellite systems supported), the EM7565 is ideal for mobile computing, networking, and industrial M2M applications. Coupled with the most operator certifications in the industry and network switching capability, EM7565 allows customers to change their network provider anytime, providing more flexibility in manufacturing.

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

Do you need offline data on this product?

Download datasheet

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

Subscribe to updates
Region
Europe
North America
Asia
Australia
South America
Japan
Africa
Primary Technology
LTE - cat 12
Fallback
3G
Form Factor
M.2 3042
LTE Bands
B1 (FDD 2100)
B2 (FDD 1900)
B3 (FDD 1800)
B4 (FDD 1700 / AWS)
B5 (FDD 850)
B7 (FDD 2600)
B8 (FDD 900)
B9 (FDD 1800)
B12 (FDD 700ac)
B13 (FDD 700c)
B18 (FDD 800)
B19 (FDD 800)
B20 (FDD 800DD)
B26 (FDD 850)
B28 (FDD 700)
B29 (SDL 700)
B30 (FDD 2300)
B32 (SDL 1500)
B41 (TDD 2500)
B42 (TDD 3500)
B43 (TDD 3600)
B46 (TDD 5200)
B48 (TDD 3600)
B66 (FDD 1700 / AWS-3)
UMTS Bands
B1 (2100)
B2 (1900)
B19 (800)
B8 (900)
B4 (AWS)
B5 (850)
B6 (800)
B9 (1700)
Max DL Speed
600 Mbps
Max UL Speed
150 Mbps
GNSS
Yes
GNSS technology
GPS
GLONASS
Galileo
BeiDou
GNSS antenna support
Passive
Active
Antenna Connectors
IPEX MHF-4
Certification
PTCRB
NCC
KC
CE RED
FCC
IC
GCF
CCC
Carrier Certification
SouthernLINC
Telus
Verizon
US Cellular
Telstra
Sprint
Softbank
NTT DOCOMO
AT&T
Operating Temperature Range
-30 °C – 70 °C
Extended Operating Temperature Range
-40 °C – 85 °C
Chipset
Qualcomm
MDM9250
Data Interface
SIM card
USB 3.0
USB 2.0
Audio interface
Digital PCM signal input/output in socket
Digital I2S signal input/output in socket
Voice Call Support
No
Driver Support
Windows 8
Windows
Android
Windows 8.1
Linux
Windows 10
MIMO (Multiple-Input Multiple-Output)
Yes
FOTA Firmware Updates
Yes
SIM interface
Through M.2 connector
Dual SIM interface
GPIO
Yes
Size
42 x 30 x 2.3 mm
Module KEY
B
This datasheet shows an comparison overview of the EM-series cellular modules from Sierra Wireless.

Download

Uploaded at
2015-12-10 15:03:51
Last updated
2018-12-03 10:16:14
Version
20170901
Related products
Sierra Wireless EM7305
Sierra Wireless EM7355
Sierra Wireless EM7565 M.2
Sierra Wireless, EM7455 M.2
Sierra Wireless EM7430 M.2
Hardware guide and product specifications for the Sierra Wireless EM7565 cellular M.2 Key B module.

Download

Uploaded at
2017-11-09 10:26:15
Last updated
2021-06-21 15:35:15
Version
41110788 r13
Related products
Sierra Wireless EM7565 M.2

Migration guide for customers migrating applications from Sierra Wireless EM74xx or EM75xx modules to EM7590 modules.

Download

This guide compares and describes the hardware differences between the Sierra Wireless AirPrime EM cellular modules based on the M.2 key B form factor.

Download

Uploaded at
2018-06-11 14:49:40
Last updated
2018-12-03 11:53:37
Version
41112212 R1
Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2
This document describes proprietary and protected AT commands available for Sierra Wireless AirPrime® EM75xx - EM74x1 - MC74x1 Series intelligent embedded modules.

Download

This guide describes the USB interface mapping in host system for the Sierra Wireless EM75** series cellular modules

Download

Uploaded at
2019-06-10 09:12:02
Last updated
2019-06-10 09:12:02
Version
41113322 R1
Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2
This technical note describes the thermal mitigation for Sierra Wireless AirPrime EM75 series.

Download

Uploaded at
2019-07-16 13:47:45
Last updated
2021-06-21 15:37:08
Version
41112528 R2
Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2
This guide describes differences in how the the single Rmnet USB endpoint can be used to separate and support multiple PDN connections for Sierra Wireless modules based on Qualcomm chipset MDM9x06, MDM9x07, MDM9x50 with the GobiNet and GobiSerial drivers.

Download

Uploaded at
2018-01-12 15:10:07
Last updated
2018-12-03 11:54:04
Version
2174187 - Rev1.0
Requirements
Linux GobiNet, GobiSerial drivers
Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2
EU Certificate for EM7565

Download

Uploaded at
2019-09-19 13:58:10
Last updated
2019-09-19 13:58:10
Related products
Sierra Wireless EM7565 M.2
IC Certificate for EM7565

Download

Uploaded at
2019-09-19 14:01:06
Last updated
2019-09-19 14:01:06
Related products
Sierra Wireless EM7565 M.2
NCC Certificate for EM7565

Download

Uploaded at
2019-09-19 13:56:37
Last updated
2019-09-19 13:56:37
Related products
Sierra Wireless EM7565 M.2
CCC Certificate for EM7565

Download

Uploaded at
2019-09-19 13:27:09
Last updated
2019-09-19 13:27:27
Related products
Sierra Wireless EM7565 M.2
Certificate for EM7565 Mexico

Download

Uploaded at
2019-09-19 13:25:32
Last updated
2019-09-19 13:25:33
Related products
Sierra Wireless EM7565 M.2
RohS Declaration of Conformity Document for Sierra Wireless EM7565

Download

Uploaded at
2018-11-27 15:12:42
Last updated
2018-11-27 15:12:42
Related products
Sierra Wireless EM7565 M.2
CE RED Compliance Statement Sierra Wireless EM7565 cellular module

Download

Uploaded at
2018-11-27 15:11:14
Last updated
2018-11-27 15:11:14
Related products
Sierra Wireless EM7565 M.2
Microsoft Windows desktop driver installer for the Sierra Wireless AirPrime EM/MC series cellular modules.

Download

Microsoft Windows desktop driver installer application for Sierra Wireless AirPrime EM/MC series.

Download

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

This software is EOL, we instead recommend the Mobile Broadband Package for Linux.

Download

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

This software is EOL, we instead recommend the Mobile Broadband Package for Linux.

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 MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7430 M.2
Sierra Wireless, EM7455 M.2
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Sierra Wireless HL8518
Sierra Wireless HL8528
Sierra Wireless HL8548
Sierra Wireless HL8548-G
Sierra Wireless WP8548
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Sierra Wireless EM7565 M.2
This executable file install the Windows drivers for Sierra Wireless EM/MC Series cellular modules

Download

Uploaded at
2017-10-27 18:06:09
Last updated
2017-11-29 14:24:18
Version
V.4773
Requirements
Microsoft Windows 7 / Windows 8 / Windows 10 operating systems
Related products
Sierra Wireless MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7430 M.2
Sierra Wireless, EM7455 M.2
Sierra Wireless MC7304
Sierra Wireless MC7354
Sierra Wireless MC7350
Sierra Wireless EM7305
Sierra Wireless EM7355
Sierra Wireless EM7565 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for Generic PRI as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions and changes.

Download

Uploaded at
2022-10-19 15:09:29
Last updated
2022-10-19 15:09:29
Version
SWI9X50C_01.14.13.00_GENERIC_002.048_000
Requirements

Sierra Wireless Windows drivers
Sierra Wireless Linux Gobinet drivers
Sierra Wireless QMI SDK firmware update sample applications

Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for AT&T operator PRI (002.062.000) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2022-06-30 14:55:58
Last updated
2022-06-30 14:55:59
Version
V.01.14.13.00 (ATT PRI: 002.062.000)
Requirements

For Windows systems:
Microsoft Windows 8+
Sierra Wireless Windows driver package

For Linux systems:
Sierra Wireless GobiNet and GobiSerial drivers
Sierra Wireless QMI SDK firmware update sample applications

Related products
Sierra Wireless EM7565 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for
Korea Telecom operator (PRI: 002.016.004) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2021-02-05 10:35:24
Last updated
2022-06-30 14:20:08
Version
V.01.14.05.00 (Korea Telecom PRI) PRI 002.016.004
Related products
Sierra Wireless EM7565 M.2
This archive contains the Sierra Wireless EM7565 Windows firmware update package for Generic PRI as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions and changes.

Download

Uploaded at
2019-11-22 14:18:30
Last updated
2022-02-01 11:41:05
Version
SWI9X50C_01.14.02.00_GENERIC_002.035_003
Requirements
Sierra Wireless Windows drivers
Sierra Wireless Linux Gobinet drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2
This archive contains the Sierra Wireless EM7565 Windows firmware update package for
Deutsche Telekom operator (PRI: 002.007) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2021-02-05 10:38:27
Last updated
2021-02-05 10:38:28
Version
V.01.14.04.00 (Deutsche Telekom PRI)
Related products
Sierra Wireless EM7565 M.2
This archive contains the Sierra Wireless EM7565 Windows firmware update package for Sprint PRI as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions and changes.

Download

Uploaded at
2020-03-18 09:43:58
Last updated
2022-06-30 14:31:12
Version
SWI9X50C_01.08.04.00_SPRINT_000.001_003
Requirements
Sierra Wireless Windows drivers
Sierra Wireless Linux Gobinet drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2
This archive contains the Sierra Wireless EM7565 Windows firmware update package for Telstra PRI as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions and changes.

Download

Uploaded at
2019-11-22 14:21:00
Last updated
2022-06-30 14:41:34
Version
SWI9X50C_01.11.00.00_TELSTRA_002.007_002
Requirements
Sierra Wireless Windows drivers
Sierra Wireless Linux Gobinet drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for AT&T operator PRI (002.047.002) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2018-11-09 10:06:46
Last updated
2022-06-30 14:38:06
Version
V.01.14.02.00 (ATT PRI: 002.047.002)
Requirements
For Windows systems:
Microsoft Windows 8+
Sierra Wireless Windows driver package

For Linux systems:
Sierra Wireless GobiNet and GobiSerial drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for
Verizon operator (PRI: 002.045.005) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2018-12-04 10:49:30
Last updated
2022-06-30 14:36:26
Version
V. 01.14.07.00 (VERIZON PRI: 002.045.005)
Requirements
For Windows systems:
Microsoft Windows 8+
Sierra Wireless Windows driver package

For Linux systems:
Sierra Wireless GobiNet and GobiSerial drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2
This archive contains the Sierra Wireless EM7565 Windows firmware update package for Docomo network operator as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2019-07-16 14:31:42
Last updated
2022-06-30 14:43:49
Version
SWI9X50C_01.09.04.00_00_DOCOMO_002.015_002
Requirements
Sierra Wireless Windows drivers
Sierra Wireless Linux Gobinet drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2
This application note describes the requirement for configuring RF band mask correctly when using the Generic firmware 01.08.04.00 002.012_000 (Generic PRI) with US Cellular network operator on the Sierra Wireless EM75 series modules.

Download

Uploaded at
2019-07-16 15:11:34
Last updated
2019-07-16 15:11:34
Version
v1.0
Requirements
Generic firmware 01.08.04.00 002.012_000
US Cellular network operator
Related products
Sierra Wireless EM7565 M.2
Sierra Wireless EM7511 M.2

This archive contains the Sierra Wireless EM7565 Windows firmware update package for
Verizon operator (PRI: 002.003.003) as well as the firmware binary files for update on Linux based platforms. Please relate to the release notes prior to update regarding update instructions.

Download

Uploaded at
2020-12-29 15:32:58
Last updated
2022-06-30 14:46:07
Version
V.01.14.02.00 (T-mobile PRI 002.003.003)
Requirements
For Windows systems:
Microsoft Windows 8+
Sierra Wireless Windows driver package

For Linux systems:
Sierra Wireless GobiNet and GobiSerial drivers
Sierra Wireless QMI SDK firmware update sample applications
Related products
Sierra Wireless EM7565 M.2
Question

Which antenna ports should I connect antennas to on the LTE or 5G module?

Solution

It is important to understand the functionality of the different antenna ports on the cellular module when deciding which ports to use. There is a risk of underutilizing the module by not connecting antennas to the right ports. This guide aims to explain some general terms and abbreviations used to label and describe antenna ports and their different functionalities.

Some antenna port labels that are commonly used on cellular modules are listed below:

  • MAIN – Primary transmit and receive antenna port. Required for basic functionality.

  • DIV – Diversity receive port. This port is used to receive the same signal as the primary port, but at a different spatial point. By receiving the same signal at two different spatial points, the module can mitigate destructive effects that might be present on one of the different spatial points. The diversity receive functionality is especially useful in urban environments where the interference environments may be radically different between two spatial points. It is always recommended to use the diversity receive port as this functionality improves the quality and reliability of the overall link.

  • GNSS – GNSS receive port. GNSS stands for Global Navigation Satellite System, examples of such systems are GPS, Galileo, GLONASS and BeiDou. The available systems may differ between different modules. To see what systems are available for a specific module, please consult the modules hardware documentation. As this antenna port is used for positioning applications, a suitable GNSS antenna needs to be connected to this port in order to utilize this functionality.

  • MIMO – MIMO port. MIMO stands for Multiple Input Multiple Output and refers to the amount of antennas used at each side of the link. For example, 4x4 DL MIMO means that the base station and the module each use 4 antennas for the modules downlink. Usually, the MIMO label is used to denote antenna ports that are used for spatial multiplexing which is a technique used for increasing the bitrate. This is achieved by splitting the signal into different streams that are transmitted and received on spatially separated antennas on each side of the link. For the majority of cellular modules, spatial multiplexing is only available for the module's downlink.

  • AUX – Auxiliary antenna port. The available functions on this port may differ between modules. Examples of functionalities that can be present on this port are diversity receive, DL-MIMO and GNSS. Please consult the module's hardware documentation to see which functionalities are present on this port.

Some cellular modules have numeric, non-descriptive labels on their antenna ports. These modules can have different functionalities for different frequency intervals/bands, on one single antenna port. For these modules, consult the hardware documentation to find what functionalities are present for which frequency intervals/bands one the different antenna ports. Please note that antenna ports with transmit functionality for certain frequency bands need to have a antenna connected in order to utilize these frequency bands.

If you have further inquiries regarding antenna ports on cellular modules, please create a Support Ticket by visiting the following link: https://techship.com/support/new/

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.

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

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

(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 do I set USB-interface modes on my Sierra Wireless module?

Solution

Sierra Wireless modules can expose different USB interfaces, like MBIM, MODEM, NMEA or RMNET. The different interfaces can be combined or used individually, depending on the specific need for your project.
Here is how to set the different USB interface configurations. (In this example we use a Sierra Wireless EM7421, but it will be similar for many other Sierra Wireless modules.)

Make sure you get an OK after every AT command sent.
We start by typing:
AT
To be able to view what we just sent to the module we type:
ATE1
Since this feature is password protected we need to type:
AT!ENTERCND=”A710”
To see what USB interface we are currently using, just type AT!USBCOMP? and you should receive something like this:

Config Index: 1
Config Type: 3 (Generic)
Interface bitmask: 0000010D (diag,nmea,modem,rmnet0)
OK

Config index is what the type applies to and should be set to 1.
The config type means what USB composition is used. For this module USBIF-MBIM (1), PCIE USBIF (2), Legacy Generic (3) or RNDIS (4) are available.
Interface bitmask is the part where we see what USB interface our module is set to.

Now, to see what our USB interface options are we need to type:
AT!USBCOMP=?
Here we can see that for this module we have the following options:
DIAG - 0x00000001
NMEA - 0x00000004
MODEM - 0x00000008
RMNET0 - 0x00000100
MBIM - 0x00001000
These values are hexadecimal. So, for an example, if we wanted to activate all the options (DIAG, NMEA, MODEM and MBIM) we just add these values together.
If we open the Windows Calculator in Programmer mode (and make sure you have “HEX” selected!) and add all the values together like this 1 + 4+ 8 +1000, we will get 100D. (Please note, RMNET0 and MBIM cannot be used simultaneous for this module. Refer to the manual of your specific module to when setting up the USB interface.)
If we then send the following AT command to the module, we will set it to DIAG, NMEA, MODEM and MBIM:
AT!USBCOMP=1,3,100D

Again, type AT!USBCOMP? to confirm we have the new settings selected, it should look like this:

Config Index: 1
Config Type: 3 (Generic)
Interface bitmask: 0000100D (diag,nmea,modem,mbim)
OK

For further information please take a look at the AT command user guide available on the product's specific page under "technical documentation", which is available for download once logged in.

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 do I select specific bands on my Sierra Wireless module?

Solution

The AT command AT!BAND can be used to select what specific GSM and LTE bands that you want to be active on your module.

If you are experiencing poor DL or UL speeds, one solution may be to only select the bands that you know are available, which can increase the transfer speeds.

(Please note that the following examples are when using a Sierra Wireless EM7421)

First, see that you get an “OK” with command:
AT
Then, to make sure you can see what command has been sent, type:
ATE1

Since what we are about to do is password protected, we need to type:
AT!ENTERCND="A710"

When entering AT!BAND? it will return a reply looking like (for example):
AT!BAND?
Index, Name, GW Band Mask L Band Mask 1 TDS Band Mask L Band Mask 2 L Band Mask 3 L Band Mask 4
00, All Bands 000200000C400000 000007A0880800C5 0000000000000000 0000000000000000 0000000000000000 0000000000000000
OK


The "00" is referring to the selected preset, "All Bands" to the preset name, "000200000C400000" to GSM bands and "000007A0880800C5" to selected LTE bands in hexadecimal.

To get information on all available bands, we need to type:
AT!BAND=?

Starting at the GSM band (at chapter "AT!BAND - Select/return frequency band set" in the AT command reference manual) we can see that 000200000C400000 corresponds to “0002000000000000 - B8 (900) + 0000000008000000 - B6 (800) + 0000000004000000 - B5 (850) + 0000000000400000 - B1 (2100) = 000200000C400000 (All GSM Bands)”

Now for LTE, which is probably what is a little tricky to understand. Let’s start the Windows Calculator and change it to Programmer mode. If you copy the "000007A0880800C5" into the calculator window it should convert it to binary.
HEX: 0000 07A0 8808 00C5
BIN: 0111 1010 0000 1000 1000 0000 1000 0000 0000 1100 0101

If you look at the line of BIN above you can see what bands are active (1) and which are not (0). Looking from right to left, the first bit corresponds to B1, second bit to B2, third bit B3, and so on…

HEX: 0000 07A0 8808 00C5
BIN: 0111 1010 0000 1000 1000 0000 1000 0000 0000 1100 0101
Selected bands: B1+B3+B7+B8+B20+B28+B32+B38+B40+B41+B42+B43

So if I, for example, only want the GSM bands "GSM 900MHz + GSM 850MHz", and LTE bands "B3, B4, B7, B28" we enter the following:
AT!BAND= 11,"Custom User Preset",0002000004000000,000000000800004C

Now we have created a new preset slot “11”, a name for the preset “Custom User Preset” and selected bands for GSM “GSM 900MHz + GSM 850MHz” and also selected bands for LTE "B3, B4, B7, B28", see explanation below:

Bands: B3, B4, B7, B28
Binary: 1000 0000 0000 0000 0000 0100 1100
Hexadecimal: 800 004C

Now we want to make sure our newly created preset is selected, so we type:
AT!BAND=11

And finally to check that we have selected the preset we again type AT!BAND? and should get the following response:
Index, Name, GW Band Mask L Band Mask 1 TDS Band Mask L Band Mask 2 L Band Mask 3 L Band Mask 4
11, Custom User Preset 0002000004000000 000000000800004C 0000000000000000 0000000000000000 0000000000000000 000000000000000
OK

For further information please take a look at the AT command user guide available on the product's specific page under "technical documentation", which is available for download once logged in.

Question

How-to automatically set up and maintain the cellular data connection in headless Raspberry Pi OS / Raspbian systems?

Solution

The open-source tools NetworkManager and ModemManager can be uesd to establish, control and maintain a cellular connection even if the enironment and antenna RF circumstances vary.

First ensure that the cellular module have been detected in the Raspbian system, and that Linux in-kernel driver alternatives have been loaded correctly for the USB interfaces.
This can be verified through different tools like lsusb and usb-devices, and by checking the dmesg log.
Look at the Driver output, serial interface typically use option or qcserial driver and the network interfaces typically bind to the qmi_wwan or cdc_mbim drivers.

The in-kernel drivers, as well as NetworkManager and ModemManager tools are continously improved, due to the rapid progress in wirelless connectivity. Therefore it is recommended to use fairly recent Linux kernel and distribution versions, which is more likely to have device support out of the box.

lsusb
Bus 001 Device 012: ID 1e0e:9001 Qualcomm / Option

lsusb -t
|__ Port 4: Dev 12, If 1, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 12, If 4, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 12, If 2, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 12, If 0, Class=Vendor Specific Class, Driver=option, 480M
|__ Port 4: Dev 12, If 5, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
|__ Port 4: Dev 12, If 3, Class=Vendor Specific Class, Driver=option, 480M

usb-devices
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#= 12 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1e0e ProdID=9001 Rev=03.18
S: Manufacturer=SimTech, Incorporated
S: Product=SimTech, Incorporated
S: SerialNumber=0123456789ABCDEF
C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I: If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#=0x5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan

If drivers aren't loaded for all the USB interfaces, please see the following general FAQ on kernel configs and patches for cellular modules.
FAQ: Common Linux kernel modules and configs necessary for communicating with cellular modules over USB interface

On Raspberry Pi OS / Raspbian uses dhcpcd to configure networks, this causes problems for several cellular devices, so it is recommended to exclude the cellular modules wwan interfaces, see following FAQ for how-to details:
FAQ: We cannot acquire an DHCP address over qmi_wwan driver when using Raspbian Linux OS?

Update the system and install NetworkManager and ModemManager:
apt update
apt upgrade
apt install network-manager modemmanager libmbim-utils libmbim-proxy libqmi-utils libqmi-proxy

Once they are installed and services running, set the cellular module to be a managed interface for NetworkManager.
(The control interface is typically called cdc-wdm0 for cellular devices using qmi_wwan / cdc_mbim driver.)
nmcli device set cdc-wdm0 managed true

Now you can go ahead and establish the cellular data connection as described in FAQ below:
FAQ: Using NetworkManager and ModemManager in Linux to automatically establish and maintain a connection

Related products
SimCom SIM7100E LTE SMT EU
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
SimCom SIM7100E LTE mPCIe SIM
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
SIMCom SIM7600E-H LTE CAT-4 mPCIe SIM
SIMCom SIM7600A-H LTE CAT-4 mPCIe Audio
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
Simcom SIM7600JC-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
Fibocom NL678-E mPCIe LTE CAT-6
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
SIMCom SIM7600CE-T LTE CAT-4 mPCIe CN
Sierra Wireless MC-WP7607 LTE CAT-4 mPCIe
Telit LE910C4-NF LTE CAT-4 mPCIe
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 LE910C1-AP
Telit LE910C1-EU LTE CAT-1 LGA
Telit LE910C4-NF LTE Cat-4 LGA
Telit LE910C1-AP LTE CAT-1 mPCIe
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 S.SKU LTE CAT-1 LGA
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
Telit LE910C4-CN LTE CAT-4 mPCIe SIM
SIMCom SIM7600V-H LTE CAT-4 M.2 Verizon
Sierra Wireless EM7411 NAM
Sierra Wireless MC7411 NAM
Sierra Wireless EM7421 EMEA/APAC
Sierra Wireless MC7421 EMEA/APAC
Sierra Wireless EM7431 Japan
Sierra Wireless MC7431 Japan
Telit LE910C1-SA CAT-1 LGA
SIMCom SIM7600E LTE CAT-1 SMT
Telit LE910C1-NF S.SKU LTE CAT-1 mPCIe SIM
Sierra Wireless MC-WP7610 LTE CAT-4 mPCIe
SIMCom SIM7600G-H R2 LTE Cat-4 mPCIe
SIMCom SIM7600NA-H LTE Cat-4 mPCIe
Telit LE910C1-LA LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 LGA
Sierra Wireless MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7565 M.2
Sierra Wireless EM7430 M.2
Sierra Wireless EM7511 M.2
Telit LE910C1-EUX LTE CAT-1 mPCIe
SIMCom SIM7600G-H R2 LTE CAT-4 SMT
Sierra Wireless, EM7455 M.2
SIMCom SIM7600G R2 LTE CAT-1 SMT
SIMCom SIM7600SA LTE CAT-1 SMT
Telit LE910C4-LA LTE CAT-4 mPCIe
Telit LE910C4-AP LTE CAT-4 LGA
Telit LE910C4-LA LTE CAT-4 mPCIe w/ Simholder
Telit LE910C4-WWX LTE Cat-4 mPCIe
Telit LE910C4-WWX LTE Cat-4 LGA
Telit LE910C4-NFD LTE Cat-4 LGA
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 EM74x0, MC74x0 series module:
AT!ENTERCND=”A710”
AT!USBCOMP=1,1,100D
AT!RESET
(See test command AT!USBCOMP=? for full usage description)

Sierra Wireless EM75xx, EM74x1, MC74x1 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 SIM7100A LTE SMT US
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
Huawei ME909s-120 LGA dev.kit
SimCom SIM7100E LTE mPCIe SIM
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 LTE Cat-4 mPCIe
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
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 SIM7600JC-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
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
SIMCom SIM7600CE-T LTE CAT-4 mPCIe CN
Telit LE910C4-NF LTE CAT-4 mPCIe
Telit LE910-NA V2 LTE CAT-4, S.SKU LGA
Telit LE910B1-NA S.SKU LTE Cat-1 LGA
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 LTE Cat-1 LGA
Telit LE910-JN1 LTE Cat-1 LGA
Telit LE910C1-AP
Telit LE910C1-EU LTE CAT-1 LGA
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF LTE Cat-4 LGA
Telit LE910-SV1 LTE Cat-1 mPCIe
Telit LE910-EU1 LTE Cat-1 mPCIe
Telit LE910-JN1 LTE Cat-1 mPCIe
Telit LE910-NA1 LTE Cat-1 mPCIe
Telit LE910C1-AP LTE CAT-1 mPCIe
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 S.SKU LTE CAT-1 LGA
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
Telit LE910C4-CN LTE CAT-4 mPCIe SIM
Gosuncn GM500 U1A mPCIe (US)
SIMCom SIM7600V-H LTE CAT-4 M.2 Verizon
Sierra Wireless EM7411 NAM
Sierra Wireless MC7411 NAM
Sierra Wireless EM7421 EMEA/APAC
Sierra Wireless MC7421 EMEA/APAC
Sierra Wireless EM7431 Japan
Sierra Wireless MC7431 Japan
Telit LE910C1-SA CAT-1 LGA
SIMCom SIM7600E LTE CAT-1 SMT
Telit LE910C1-NF S.SKU LTE CAT-1 mPCIe SIM
SIMCom SIM7600G-H R2 LTE Cat-4 mPCIe
SIMCom SIM7600NA-H LTE Cat-4 mPCIe
Sierra Wireless MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7565 M.2
Sierra Wireless EM7430 M.2
Sierra Wireless EM7511 M.2
Sierra Wireless, EM7455 M.2
Telit LE910C4-LA LTE CAT-4 mPCIe
Telit LE910C4-LA LTE CAT-4 mPCIe w/ Simholder
Telit LE910C4-WWX LTE Cat-4 mPCIe
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 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
Huawei MS2131i-8 USB-stick
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
SimCom SIM7100E LTE mPCIe SIM
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
SIMCom SIM7500E LTE mPCIe EU
SIMCom SIM7500SA LTE mPCIe Audio
SIMCom SIM7000E CAT-M1/NB1 SMT
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 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
Huawei MS2372h-153 LTE USB Dongle EU
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
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
Telit LE910-NA V2 LTE CAT-4, S.SKU, mPCIe
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
Simcom SIM7600JC-H LTE CAT-4 mPCIe
SIMCom SIM7600A-H LTE CAT-4 mPCIe US
SIMCom SIM7600V-H LTE CAT-4 mPCIe Audio Verizon
SIMCom SIM7000G
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
SIMCom SIM7000E CAT-M1/NB1 mPCIe
SIMCom SIM7000G CAT-M/NB-IoT/GSM miniPCIe
Fibocom NL678-E mPCIe LTE CAT-6
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
SIMCom SIM7600CE-T LTE CAT-4 mPCIe CN
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 LTE Cat-1 LGA
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
Telit LE910-SVL LTE CAT-1
Telit HE910-GL HSPA+ LGA
SIMCom SIM7000A CAT-M SMT Verizon
SIMCom SIM7000A CAT-M SMT AT&T
SIMCom SIM7906E LTE CAT-6 M.2
SIMCom SIM7906E LTE CAT-6 mPCIe
SIMCom SIM7000A CAT-M mPCIe
Telit LE910-SVG LTE CAT-3 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 LTE Cat-1 LGA
Telit LE910-JN1 LTE Cat-1 LGA
Telit LE910C1-AP
Telit LE910C1-EU LTE CAT-1 LGA
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF LTE Cat-4 LGA
Telit LE910-SV1 LTE Cat-1 mPCIe
Telit LE910-EU1 LTE Cat-1 mPCIe
Telit LE910-JN1 LTE Cat-1 mPCIe
Telit LE910-NA1 LTE Cat-1 mPCIe
Telit LE910C1-AP LTE CAT-1 mPCIe
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 S.SKU LTE CAT-1 LGA
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
Telit LE910C4-CN LTE CAT-4 mPCIe SIM
SIMCom SIM7600V-H LTE CAT-4 M.2 Verizon
Sierra Wireless EM7411 NAM
Sierra Wireless MC7411 NAM
Sierra Wireless EM7421 EMEA/APAC
Sierra Wireless MC7421 EMEA/APAC
Sierra Wireless EM7431 Japan
Sierra Wireless MC7431 Japan
Huawei MS2372h-158 LTE USB Dongle EU
Huawei MS2372h-518 LTE USB Dongle US
Huawei MS2372h-608 LTE USB Dongle Asia
Huawei ME909s-120p V2 mPCIe
Huawei ME909s-120 V2 LGA
Telit LE910C1-SA CAT-1 LGA
SIMCom SIM7600E LTE CAT-1 SMT
Telit LE910C1-NF S.SKU LTE CAT-1 mPCIe SIM
Sierra Wireless MC-WP7610 LTE CAT-4 mPCIe
SIMCom SIM7600G-H R2 LTE Cat-4 mPCIe
SIMCom SIM7600NA-H LTE Cat-4 mPCIe
Telit LE910C1-LA LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 LGA
Sierra Wireless MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7565 M.2
Sierra Wireless EM7430 M.2
Sierra Wireless EM7511 M.2
Telit LE910C1-EUX LTE CAT-1 mPCIe
SIMCom SIM7600G-H R2 LTE CAT-4 SMT
Sierra Wireless, EM7455 M.2
SIMCom SIM7600G R2 LTE CAT-1 SMT
SIMCom SIM7600SA LTE CAT-1 SMT
Alcatel IK41VE1 LTE USB Dongle EU
Alcatel IK41CQ LTE USB Dongle APAC
Alcatel IK41UD LTE USB Dongle LATAM
Alcatel IK41UC LTE USB Dongle NA
Telit LE910C4-LA LTE CAT-4 mPCIe
Telit LE910C4-AP LTE CAT-4 LGA
Telit LE910C4-LA LTE CAT-4 mPCIe w/ Simholder
Telit LE910C4-WWX LTE Cat-4 mPCIe
Telit LE910C4-WWX LTE Cat-4 LGA
Telit LE910C4-NFD LTE Cat-4 LGA
Question

How to use NetworkManager and ModemManager in Linux to automatically establish a cellular data connection and configure IP details?

Solution

Using NetworkManager and ModemManager in Linux to automatically establish a connection and configure IP details

In this FAQ we will show how to set up NetworkManager to automatically configure, establish the cellular data connection in your system.

NetworkManager and ModemManager are open source tool for Linux to manage several types of networks and interfaces such as ethernet, wifi, etc. It can also manage cellular WWAN interfaces through the ModemManager tool.
It is hosted by the Freedesktop.org community and driven by Aleksander Morgado and other contributors. please visit https://wiki.gnome.org/Projects/NetworkManager and https://www.freedesktop.org/wiki/Software/ModemManager/ for latest information, source code, API reference manuals, debugging tips, contribution, mailing list etc.

ModemManager is capable of communicating over several types of device control channels such as QMI/RMNET, MBIM, MODEM / AT command etc. But support for vendor proprietary or out-of-kernel drivers are none or very limited. Such drivers are gobinet, simcom_wwan and other drivers provided by the vendors directly.

Many Linux distributions have NetworkManager and ModemManager pre-installed or they can typically easily be installed through the systems package manager.
In Ubuntu for example apt can install it for you by command if not already installed:
apt install network-manager

Check with commands below that you have both tools installed in system and their versions.
NetworkManager -V
ModemManager -V

ModemManager (and NetworkManager) are continuously developed for better compatibility with the cellular devices, therefore it is recommend to use a recent version of the tools and in case of problem situations, evaluate the latest versions from source and check the mailing list archives for possible discussions on the problem experienced.

Keep in mind that NetworkManager and ModemManager projects are not directly developed or driven by the cellular device vendors and the compatibility with the device you aim to use can be limited. Some vendors contribute with code to make their devices fully compatible, while others don't. 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 but there are exceptions also.

Both NetworkManager and ModemManager have command line interfaces (nmcli and mmcli respectively) where you can interact with the management tools.

Relate to the following FAQ if you want more details for using ModemManager only to configure and control the cellular device but manually establish, maintain the connection and network interface IP address details.
How-to guide: control and set up a data connection in Linux using ModemManager as connection manager?

Have ModemManager list all the cellular device it has detected. Here we use the Alcatel IK41 series with MBIM interface in this example:
mmcli --list-modems
/org/freedesktop/ModemManager1/Modem/0 [Alcatel] Mobilebroadband

General details and status of them modem can be listed with "--modem" option.
mmcli --modem=0
-----------------------------
General | dbus path: /org/freedesktop/ModemManager1/Modem/0
| device id: 998e478c5b14c75e16bffe6abaacabef22fb2f5b
-----------------------------
Hardware | manufacturer: Alcatel
| model: Mobilebroadband
| firmware revision: MPSS.JO.2.0.2.c1.7-00004-9607_
| carrier config: default
| h/w revision: 0
| supported: gsm-umts, lte
| current: gsm-umts, lte
| equipment id:
-----------------------------
System | device: /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1
| drivers: option1, cdc_mbim
| plugin: Generic
| primary port: cdc-wdm0
| ports: cdc-wdm0 (mbim), ttyUSB0 (at), ttyUSB2 (at), wwan0 (net),
| ttyUSB1 (qcdm)
-----------------------------
Status | lock: sim-pin
| unlock retries: sim-pin (3)
| state: locked
| power state: on
| signal quality: 0% (cached)
-----------------------------
Modes | supported: allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 4g; preferred: none
| allowed: 2g, 3g; preferred: 3g
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 4g; preferred: 4g
| allowed: 2g, 4g; preferred: 2g
| allowed: 3g, 4g; preferred: 3g
| allowed: 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 4g
| allowed: 2g, 3g, 4g; preferred: 3g
| allowed: 2g, 3g, 4g; preferred: 2g
| current: allowed: 2g, 3g, 4g; preferred: 2g
-----------------------------
Bands | supported: egsm, dcs, pcs, g850, utran-1, utran-8, eutran-1, eutran-3,
| eutran-7, eutran-8, eutran-20, eutran-28
| current: egsm, dcs, pcs, g850, utran-1, utran-8, eutran-1, eutran-3,
| eutran-7, eutran-8, eutran-20, eutran-28
-----------------------------
IP | supported: ipv4, ipv6, ipv4v6
-----------------------------
SIM | dbus path: /org/freedesktop/ModemManager1/SIM/0

Check that the cellular device is managed by NetworkManager by not having state "unmanaged" listed for it.
nmcli device status
DEVICE TYPE STATE CONNECTION
cdc-wdm0 gsm disconnected --
enp3s0 ethernet unmanaged --
lo loopback unmanaged --

Now you should create a connection profile in NetworkManager for your specific network carrier and SIM card with the "nmcli connection add" command:
For example:
nmcli connection add type gsm ifname '*' con-name '3-sweden' apn 'data.tre.se' connection.autoconnect yes gsm.pin 0000

- type is gsm for all typical cellular connections unless it is of cdma type.
- ifname is the control interface name, in this case cdc-wdm0, wildcard can be used also to have it autoselect.
- con-name is the profile name you want to give it.
- apn is provided by your network carrier and tells the modem what attach point it should use for the data connection.
- connection.autoconnect set to yes will make NetworkManager always try to auto connect and maintain this profile connection.
- gsm.pin lets you provide a pin code for the SIM card, that NetworkManager will try to use if PIN check is enabled for SIM card.

There are several additional commands and attributes available such as username and password settings for the APNs etc. Refer to the NetworkManager help and manual pages for full details on the commands.

If successful you should receive a reply similar to this one:
Connection '3-sweden' (cad6fcbf-2cb1-4796-b7e6-67b9f9635aef) successfully added.

You can check the status now by command:
nmcli device status
DEVICE TYPE STATE CONNECTION
cdc-wdm0 gsm connected 3-sweden
enp3s0 ethernet unmanaged --
lo loopback unmanaged --

Where connected should be listed as state if the connection establishment was successful.

If the connection is not successful or you want more details about the device and connection you can check commands:

You can list the current status with command:
nmcli radio
WIFI-HW WIFI WWAN-HW WWAN
enabled enabled enabled enabled

nmcli device show cdc-wdm
GENERAL.DEVICE: cdc-wdm0
GENERAL.TYPE: gsm
GENERAL.HWADDR: (unknown)
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: 3-sweden
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/18
IP4.ADDRESS[1]: 2.68.73.130/30
IP4.GATEWAY: 2.68.73.129
IP4.ROUTE[1]: dst = 2.68.73.128/30, nh = 0.0.0.0, mt = 700
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 2.68.73.129, mt = 700
IP4.DNS[1]: 80.251.201.177
IP4.DNS[2]: 80.251.201.178
IP6.ADDRESS[1]: 2a02:aa1:1017:6d11:1060:3dff:feac:e92f/64
IP6.ADDRESS[2]: 2a02:aa1:1017:6d11:6474:7254:7b72:eb09/64
IP6.GATEWAY: 2a02:aa1:1017:6d11:21e6:9049:6cfb:8ac3
IP6.ROUTE[1]: dst = ff00::/8, nh = ::, mt = 256, table=255
IP6.ROUTE[2]: dst = 2a02:aa1:1017:6d11::/64, nh = ::, mt = 700
IP6.ROUTE[3]: dst = ::/0, nh = fe80::21e6:9049:6cfb:8ac3, mt = 1024
IP6.ROUTE[4]: dst = 2a02:aa1:1017:6d11::/64, nh = ::, mt = 256
IP6.ROUTE[5]: dst = ::/0, nh = 2a02:aa1:1017:6d11:21e6:9049:6cfb:8ac3, mt = 700
IP6.DNS[1]: 2a02:aa0::55
IP6.DNS[2]: 2a02:aa0::56

nmcli connection show
NAME UUID TYPE DEVICE
3-sweden e946017f-2e9c-477b-89ad-4c31e7331d65 gsm cdc-wdm0

Ifconfig should now show the related IP address details already set to the network interface by NetworkManager:
ifconfig
wwan0: flags=4291 mtu 1500
inet 2.68.73.130 netmask 255.255.255.252 broadcast 2.68.73.131
inet6 2a02:aa1:1017:6d11:6474:7254:7b72:eb09 prefixlen 64 scopeid 0x0
inet6 2a02:aa1:1017:6d11:1060:3dff:feac:e92f prefixlen 64 scopeid 0x0
ether 12:60:3d:ac:e9:2f txqueuelen 1000 (Ethernet)
RX packets 186 bytes 10886 (10.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5 bytes 480 (480.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

You can now for example test the connection over the network interface by sending ping requests.
Testing IPV4 connection:
ping -4 -I wwan0 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 2.68.73.130 wwan0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=118 time=55.8 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=118 time=45.4 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=118 time=42.9 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 42.918/48.053/55.845/5.601 ms

Testing IPV6 connection: (if your cellular device, network subscription and APN supports it)
ping -6 -I wwan0 2600::
PING 2600::(2600::) from 2a02:aa1:1017:6d11:1060:3dff:feac:e92f wwan0: 56 data bytes
64 bytes from 2600::: icmp_seq=1 ttl=46 time=172 ms
64 bytes from 2600::: icmp_seq=2 ttl=46 time=171 ms
64 bytes from 2600::: icmp_seq=3 ttl=46 time=169 ms
64 bytes from 2600::: icmp_seq=4 ttl=46 time=168 ms
--- 2600:: ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 167.921/170.037/172.272/1.651 ms

The connection is successful and automatic reconnect is working when testing to unplug and plug in the device again.
For additional configurations, commands and available attributes, please relate to the manual pages for NetworkManager and ModemManager.

Troubleshooting logs:
NetworkManager and ModemManager write log messages to the Linux syslog file /var/log/syslog.
In case of problems with establishing a cellular data connection, please copy the logfile after the problem have appeared and include it in a Techship technical support ticket.

In some situations more detailed debug logs are needed, these can be acquired by changing the log levels for NetworkManager and ModemManager and run them manually.

To capture debug logs, please first disable and stop the normal services:
systemctl stop NetworkManager ModemManager
systemctl disable NetworkManager ModemManager

Run them manually in background with debug level set:
/usr/sbin/ModemManager --log-level=DEBUG &> /dev/null &
/usr/sbin/NetworkManager --log-level=DEBUG &

Reproduce the cellular data connection problem.
Once completed, kill the processes:
killall -TERM NetworkManager ModemManager

Copy the relate messages in syslog to a mm-nm-sys-debug.log logfile:
grep -E 'ModemManager|NetworkManager|systemd|dbus-daemon|dhclient' /var/log/syslog > mm-nm-sys-debug.log

Activate and start the services again:
systemctl enable NetworkManager ModemManager
systemctl start NetworkManager ModemManager

Include the mm-nm-sys-debug.log in a technical support ticket at Techship.com where you describe the issue in details and include other relevant information also such as kernel version, ModemManager and NetworkManager versions, dmesg log etc.

Related products
Huawei ME909u-521 - EU/ASIA
Huawei ME909u-521 Mini PCI Express - EU/ASIA
Huawei ME909u-523D Mini PCI Express - US - AT&T
Huawei MS2131i-8 USB-stick
Huawei ME909s-821 mPCIe
Huawei ME909s-821 LGA
Huawei ME909s-120 mPCIe EU
Huawei ME909s-120 LGA EU
SimCom SIM7100E LTE SMT EU
SIMCom SIM7100A LTE SMT US
SimCom SIM7100E LTE mPCIe EU
SimCom SIM7100A LTE mPCIe US
SimCom SIM7100C LTE mPCIe China
SimCom SIM7230 LTE mPCIe EU
SimCom SIM7100E LTE mPCIe SIM
SIMCom SIM7500A LTE SMT US
SIMCom SIM7500E LTE SMT EU
SIMCom SIM7500E LTE mPCIe EU
SIMCom SIM7500SA LTE mPCIe Audio
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 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
Huawei MS2372h-153 LTE USB Dongle EU
SIMCom SIM7600E-H LTE SMT EU
SIMCom SIM7600E-H LTE CAT-4 mPCIe EU
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
Telit LE910-NA V2 LTE CAT-4, S.SKU, mPCIe
SIMCom SIM7600SA-H LTE CAT-4 mPCIe
Simcom SIM7600JC-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
Fibocom NL678-E mPCIe LTE CAT-6
SIMCom SIM7600A-H LTE CAT-4 mPCIe-SIM
SIMCom SIM7600CE-T LTE CAT-4 mPCIe CN
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 LTE Cat-1 LGA
Telit LE910C1-NS LTE CAT-1 Sprint mPCIe
Telit LE910-SVL LTE CAT-1
Telit HE910-GL HSPA+ LGA
SIMCom SIM7906E LTE CAT-6 M.2
SIMCom SIM7906E LTE CAT-6 mPCIe
Telit LE910-SVG LTE CAT-3 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 LTE Cat-1 LGA
Telit LE910-JN1 LTE Cat-1 LGA
Telit LE910C1-AP
Telit LE910C1-EU LTE CAT-1 LGA
Telit LE910B1-NA
Telit LE910B1-SA
Telit LE910-AU V2
Telit LE910-SV V2
Telit LE910B4-NA
Telit LE910C4-NF LTE Cat-4 LGA
Telit LE910-SV1 LTE Cat-1 mPCIe
Telit LE910-EU1 LTE Cat-1 mPCIe
Telit LE910-JN1 LTE Cat-1 mPCIe
Telit LE910-NA1 LTE Cat-1 mPCIe
Telit LE910C1-AP LTE CAT-1 mPCIe
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 S.SKU LTE CAT-1 LGA
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
Telit LE910C4-CN LTE CAT-4 mPCIe SIM
SIMCom SIM7600V-H LTE CAT-4 M.2 Verizon
Sierra Wireless EM7411 NAM
Sierra Wireless MC7411 NAM
Sierra Wireless EM7421 EMEA/APAC
Sierra Wireless MC7421 EMEA/APAC
Sierra Wireless EM7431 Japan
Sierra Wireless MC7431 Japan
Huawei MS2372h-158 LTE USB Dongle EU
Huawei MS2372h-518 LTE USB Dongle US
Huawei MS2372h-608 LTE USB Dongle Asia
Huawei ME909s-120p V2 mPCIe
Huawei ME909s-120 V2 LGA
Telit LE910C1-SA CAT-1 LGA
SIMCom SIM7600E LTE CAT-1 SMT
Telit LE910C1-NF S.SKU LTE CAT-1 mPCIe SIM
Sierra Wireless MC-WP7610 LTE CAT-4 mPCIe
SIMCom SIM7600G-H R2 LTE Cat-4 mPCIe
SIMCom SIM7600NA-H LTE Cat-4 mPCIe
Telit LE910C1-LA LTE CAT-1 mPCIe
Telit LE910C4-EU LTE CAT-4 LGA
Sierra Wireless EM7690 LTE CAT-20
Sierra Wireless MC7455 mPCIe
Sierra Wireless MC7430
Sierra Wireless EM7565 M.2
Sierra Wireless EM7430 M.2
Sierra Wireless EM7511 M.2
Telit LE910C1-EUX LTE CAT-1 mPCIe
SIMCom SIM7600G-H R2 LTE CAT-4 SMT
Sierra Wireless, EM7455 M.2
SIMCom SIM7600G R2 LTE CAT-1 SMT
SIMCom SIM7600SA LTE CAT-1 SMT
Alcatel IK41VE1 LTE USB Dongle EU
Alcatel IK41CQ LTE USB Dongle APAC
Alcatel IK41UD LTE USB Dongle LATAM
Alcatel IK41UC LTE USB Dongle NA
Telit LE910C4-LA LTE CAT-4 mPCIe
Telit LE910C4-AP LTE CAT-4 LGA
SIMCom SIM7600G-H R2 LTE CAT-4 M.2
Telit LE910C1-EUX LTE Cat-1 LGA
Telit LE910C1-SAX LTE Cat-1 LGA
Telit LE910C1-SVX LTE Cat-1 LGA
SIMCom SIM7600G-H R2 mPCIe SIM
Telit LE910C4-LA LTE CAT-4 mPCIe w/ Simholder
Telit LE910C1-WWX LTE Cat-1 mPCIe
Telit LE910C4-WWX LTE Cat-4 mPCIe
Telit LE910C1-WWX LTE Cat-1 LGA
Telit LE910C4-WWX LTE Cat-4 LGA

You might also be interested in