TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
This guide describes the Telit xE910 series shared surface mount LGA design.
Scope of this document is to give an overview of the good rules to integrate a 2G, 3G, 4G modem with its antenna into a board, posing particular attention on the common pitfalls and best practices.
This document covers the more significant standard and proprietary AT commands provided by Telit's modules. Several module features are described and for each one of them the related AT commands are explained through examples. This document is not an exhaustive description of the AT commands implemented on the Telit's modules series, its target is only to give you an entry point to the AT commands world.
This document describes the integration steps of the cellular modules USB endpoints in Linux systems.
The present document provides a guideline to connect logically the physical serial ports of the module to the services supported by the module itself (GNSS, AppZone, etc.). It is up to the user to configure the module in suitable way to avoid hardware/software resources conflicts. With the generic "ports/services arrangement" expression is intended each possible set of logical connections regarding physical ports and Service Access Points supported by the used module (e.g. AT0, AT1, AT2, etc.).
Application note describing how to use NetworkManager in Linux with Telit Modems
Application note describing how to use ModemManager in Linux with Telit Modems
SIM Integration Design Guide Application Note for Telit modules r13
Cad Library files archive for the following Telit modules: UL865, UE910, LE922, LE920A4, LE920, LE910, LE866, HE922-3GR, HE910, GL865_V3, GE910-QUAD_V3, GE910-GNSS, GE866_UE866, GE310-GNSS, CE910
This archive contains the following Telit IoT AppZone Application Notes Documents:
Telit AppZone C User Guide.pdf
Telit AppZone C API Reference Guide.pdf
Telit AppZone for Android Developer Guide.pdf
Telit AppZone for Android Getting Started Guide.pdf
Telit AppZone Linux API Reference Guide.pdf
Telit AppZone Linux User Guide.pdf
Telit AppZone Python API Reference.pdf
Telit AppZone Python User Guide.pdf
This archive contains the Telit XFP Firmware Update Tool installer used to update the firmware on Telit Cellular modules over USB-serial interface.
Zip archive with Telit cellular modules USB drivers installers for Windows 7, 8.x, 10 both x86 and x64 system architectures (Non WHQL certified drivers).
This archive contains the Windows 10 WHQL certified Telit module drivers for both x86 and x64 system platforms.
This archive contains the Telit AT controller tool as well as XFP firmware update tool for Microsoft Windows systems.
It can be used to troubleshoot, test and command the Telit cellular module in a graphical interface.
This archive contains the Windows installer for the Telit Mobile Broadband Connection Tool verison 2.7.1
This archive contains the Telit Connection Manager installer for Microsoft Windows systems
This document is intended for customers who want to integrate Telit’s Cloud functionalities in their systems/microcontrollers, without the necessity to use Telit modules that embed those functionalities. Any module that can provide a network connectivity can be used. N.B.: HTTP socket are required.
This archive contains the Windows CE 7 Telit module drivers and user guide.
This archive contains the Microsoft Windows CE 6 Telit module drivers and user guide.
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?
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:
(See test command AT!USBCOMP=? for full usage description)
Sierra Wireless EM75xx series module:
(See test command AT!USBCOMP=? for full usage description)
Sierra Wireless EM73xx, MC73xx series module:
Simcom SIM7100, SIM7500 and SIM7600 series modules:
ZTE Welink ME3630 series:
Telit LE910C1 and LE910C4 series:
Telit LM940 and LM940A11:
Telit LM960 and LM960A18:
Telit LE910 V2 series:
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.
What Linux kernel modules and configs are commonly used for communicating with cellular modules over their USB interface?
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:
Configs for Modem/PPP support:
Configs for USB network drivers:
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.
How can we establish data connection for cellular modules in Windows 8 and Windows 10 systems?
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".
How to collect initial diagnostics data and logs for Telit cellular modules needed when requesting Techship technical support?
In order to ease the troubleshooting of technical problems and understand your end-product or application and its usage scenario we ask you to please provide the following information when creating a technical support ticket at: techship.com/technical_support/
Please give a detailed problem description and in what precise circumstances it is present.
Describe the host system:
-Hardware (system board, processor architecture, other peripheral devices...)
-Operating system with detailed versions (E.g. Windows version and build, Linux distribution, kernel version)
-Drivers used and versions (Linux: out-of-tree vendor drivers or in-kernel drivers?)
Details from the cellular module label:
-SKU/BOM or P/N code
For Linux systems, capture terminal logs from commands:
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
The cellular module logs can be acquired by accessing one of the USB enumerated serial (COM) interfaces or physical UART serial interfaces accepting AT commands. In Windows device manager they are generally found as modem infterface or serial and ports interface types).
Send AT commands to module and capture the text output:
Test that you get a OK reply:
Enable AT command echo:
Verbose error reporting:
USB endpoint configuration:
Serial port configuration:
Selected network access techniques:
List network operator info:
Network registration status:
Last serving cell network information:
Current network status:
List APN details:
List Packet switch enable/disable status:
List PDP profiles status:
List default data connection details:
List bearers and IP addresses:
Additional test commands for Telit LM940/LM960:
How to set up a simple data connection over the MBIM interface using libmbim and driver cdc_mbim in Linux?
Most 4G/LTE cellular modules implements the USB Implementers Forums Mobile Broadband Interface Model (MBIM) Interface. This because Microsoft request cellular module vendors to include the MBIM interface for good compatibility with Windows 8, 8.1, 10 and later systems. The Windows built-in connection manager also rely on MBIM interface for control of the cellular modules.
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 Linux library using your system package manager like apt etc. (more details about libmbim here: https://www.freedesktop.org/wiki/Software/libmbim/)
Please relate to the FAQ bellow regarding how to set the cellular module into correct USB mode for usage with MBIM mode:
How to change USB composition mode to MBIM in cellular module, used by Windows 8 and 10 systems for data connectivity?
Verify that you have the Linux in-kernel cdc_mbim driver installed for the cellular modules exposed MBIM interface endpoint over USB:
Can look e.g. like this:
|__ Port 1: Dev 12, If 12, Class=Communications, Driver=cdc_mbim, 480M
|__ Port 1: Dev 12, If 13, Class=CDC Data, Driver=cdc_mbim, 480M
Using libmbim with the command line interface mbimcli:
List all available options for mbimcli:
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 /etc/mbim-network.conf:
If the APN requires a username and password then it is also required to fill in the APN_AUTH protocol type with either PAP, CHAP or MSCHAPV2.
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 18.104.22.168
ping -4 -I wwan0 google.com
IPv6 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