TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS
The Telit LM940 LTE CAT-11, GPS, miniPCIe data-card deliver High speed data rates on Advanced LTE and offer a cellular connection for future products in Router and gateway environment. miniPCIe form factor data-card is particularly well-suited for products with very high throughput requirements such as routers mobile gateways and access points, to provide the most advanced 4G LTE connectivity, ensuring seamless connectivity to the end users.
The LM940 mCPIe module achieves download rates up to 600 Mbps through support of 3GPP release 11 LTE Carrier Aggregation. LM940 mPCie data card supports the various RF frequency bands and band combinations deployed worldwide with MIMO capabilities and latest generation carrier aggregation support.
- Standard Mini PCIe Data-card form factor.
- Take advantage of Advanced LTE technology networks delivering LTE Cat 11 throughput up to 600 Mbps in DLand 75 Mbps in UL.
- Full GNSS support –GPS, GLONASS, Galileo, Beidou.
- Increased connectivity performance with Carrier Aggregarion 3CA, MIMO and 256 QAM.
This document describes the QUALCOMM® MSM™ Interface (QMI) architecture and framework. The QMI allows applications on attached Terminal Equipment (TE) devices to access various Services provided by devices based on QUALCOMM’s MSM chipsets and AMSS software.
This document describes the integration steps of the cellular modules USB endpoints in Linux systems.
This document introduces the Telit LM940 module and presents possible and recommended hardware solutions for developing a product based on the LM940 module.
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.
SIM Integration Design Guide Application Note for Telit modules r13
This archive contains the Windows 10 WHQL certified Telit module drivers for both x86 and x64 system platforms.
Zip archive with Telit cellular modules USB drivers installers for Windows 7, 8.x, 10 both x86 and x64 system architectures.
(Not WHQL certified drivers).
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 Windows based firmware updater applies firmware V.24.01.5X2 image pack to Telit LM940.
It contains Generic firmware version for used for most network operators as well as the specific configurations used US network operators Verizon and AT&T.
The default firmware loaded is the Generic firmware version, please relate to the AT commands guide regarding details on firmware configuration switching.
This firmware update stream file applies firmware V.24.01.5X2 image pack to Telit LM940 modules.
It contains Generic firmware version used for most network operators as well as the specific configurations used for US network operators Verizon and AT&T.
The default firmware loaded is the Generic firmware version, please relate to the AT commands guide regarding details on firmware configuration switching.
How can we use the Linux NetworkManager and ModemManager applications that are built into many recent Linux desktop distributions (such as Ubuntu) with Telit LM940 cellular module?
When using NetworkManager and ModemManager that are pre-installed in many common Linux distributions, best compatibility can be reached when the Telit module is set to expose MBIM interface endpoints to the host system over the USB interface. The MBIM interface is often automatically detected and loaded without the need to configure and add additional drivers to the kernel via rebuild.
By default the Telit LM940 module is set to expose the QMI interface as well as a set of serial interfaces.
You can change this by sending the module the following AT command on the Modem serial interface:
(please note ModemManager can occupy and interfere on the Modem/AT serial interface so it is recommended to stop its process first)
This will 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:
By restarting ModemManager and NetworkManager or the complete host system, the LM940 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:
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.
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/)
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 22.214.171.124
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
How to set up a simple data connection over Qualcomm QMI interface using libqmi and driver qmi_wwan in Linux?
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. The library libqmi 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 libqmi Linux library using your system package manager like apt etc. (more details about libqmi here: https://www.freedesktop.org/wiki/Software/libqmi/)
Verify that you have the Linux in-kernel qmi_wwan driver installed for the cellular modules exposed QMI interface endpoint over USB:
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:
The cellular modules QMI device interface are usually named cdc-wdm* e.g.:
Request module manufacturer:
qmicli --device=/dev/cdc-wdm0 --dms-get-manufacturer
Get module model:
qmicli --device=/dev/cdc-wdm0 --dms-get-model
Get firmware version:
qmicli --device=/dev/cdc-wdm0 --dms-get-revision
Get module IDs (IMEI etc.):
qmicli --device=/dev/cdc-wdm0 --dms-get-ids
Get SIM card status:
qmicli --device=/dev/cdc-wdm0 --uim-get-card-status
The libqmi tool: qmi-network can be used to establish a simple connection, it will automatically also verify that the IP framing data mode is correctly matched between host and module (Raw-IP vs. 802.3 IP framing).
First create a config file containing your network operators APN detail and its username and password. Save it e.g. in the default location where qmi-network searches for the file: /etc/qmi-network.conf .
The parameter --profile=[PATH] can be used to alter this path when executing qmi-network.
Save the APN details, (and username and password if necessary) into the configuration file e.g. like bellow:
Once the APN information is set up, you can now 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 --device=/dev/cdc-wdm0 --get-wwan-iface
Once "Network started successfully" 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, used by most recent cellular modules, udhcpc however support this.
udhcpc -q -f -i wwan0
The IP information from cellular network can also be set manually by user, the correct addresses can then be acquired from cellular module with the command:
qmicli --device=/dev/cdc-wdm0 --wds-get-current-settings
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 126.96.36.199
The ifconfig Linux tool can show the current details for the network interface:
To bring down and stop the cellular network connection, please use the stop command bellow:
qmi-network /dev/cdc-wdm0 stop
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 several commands only working on selected devices and not necessarily on supported in the specific device you use, resulting in an error message.
How to change USB composition mode to Mobile Broadband Interface (MBIM) that is used by Windows 8 and 10 systems for data connectivity and enabling support for the built-in connection manager in Windows?
This is done by sending AT commands to the Modem or AT serial interfaces that are accepting AT commands and changing the USB endpoint composition:
Sierra Wireless EM74xx, MC74xx series module:
Sierra Wireless EM73xx, MC73xx series module:
Simcom SIM7xxx series modules:
ZTE Welink ME3630 series:
Telit LE910x V2:
On Huawei modules the USB mode changing is done automatically by the Windows drivers and otherwise defaults to the modules standard endpoint interfaces.
How to collect initial diagnostics data and logs for Telit cellular modules needed when requesting Techship 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 Telit module when creating a technical support ticket.
Problem description of what exact problem is and in what precise situations present.
Describe the host system:
-Hardware (system board, peripherals...)
-Operating system and detailed versions (E.g. Windows, Linux release, kernel...)
-Drivers and driver versions
Identify the precise details of cellular module found on label:
-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:
ls -l /dev/serial/by-id
ls -l /sys/bus/usb-serial/devices
The logs from module firmware can be acquired by accessing one of the USB enumerated serial (COM) interfaces accepting AT commands. (In Windows this is generally modem devices or AT commands serial interfaces). Send the following commands to module and capture the text output and include them when creating the the technical support ticket.
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:
Attach UE to default PDP Context:
List PDP profiles status:
List default data connection details:
List IP addresses:
Additional test commands for Telit LM940/LM960:
The support ticket can be created after login at: https://techship.com/technical_support/
Why should we use USB3 instead of USB2 as host system data interface if the cellular module can support both?
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.
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".
Antenna Frequency: Wifi/Bluetooth 2400, LTE 698-960/1710-2690, UMTS 2100, GSM 850/900/1800/1900 | Mounting method: Connector | Gain: 5 dBi | VSWR: 2 :1 | Connector Type: SMA-M | Length: 157 mm | Width: 21 mm | Height: 157 mm | Impedance: 50 Ohm | Polarization: Vertical | Max power: 50 W | Operating Temperature Range: -30 °C – 85 °C
SAMPLE PRICE $6.80
LTE Region: Europe, North America, Asia, South America, Africa | LTE Bands: B30 (2300 WCS), B41 (TDD 2500), B29 (US 700de Lower), B26 (US 850 Ext), B25 (1900), B5 (850), B20 (800DD), B13 (700c), B12 (700ac), B7 (2600), B4 (AWS), B3 (1800), B2 (1900), B1 (2100) | UMTS Bands: B5 (850), B3 (1800), B4 (1700), B8 (900), B2 (1900), B1 (2100) | Manufacturer: Sierra Wireless | Form Factor: mPCIe - full size | Technology: LTE - cat 6 | Antenna Interface: IPEX U.FL | Size: 51 x 30 x 2.7mm | Carrier Certification: Bell, Telus, Rogers, Vodafone, Sprint, Verizon, AT&T, US Cellular | GPS: Yes | GNSS technology: GPS, GLONASS, BeiDou | MIMO (Multiple-Input Multiple-Output): Yes | GPIO: Yes | Max DL Speed: 300 Mbps | Max UL Speed: 50 Mbps | Chipset: Qualcomm | Driver Support: Android, Linux, Windows 7, Windows 8, Windows 8.1 | Interface: USB 2.0, USB 3.0 | Operating Temperature Range: -40 °C – 85 °C | Certification: IC, PTCRB, NCC, GCF, CE, FCC, CE RED | Voice Call Support: No | Voice call interface: Digital PCM signal input/output in socket, Digital I2S signal input/output in socket | GNSS antenna support: Passive, Active 3.3VDC | Extended Operating Temperature Range: -40 °C – 85 °C | FOTA Firmware Updates: Yes | SIM interface: Through miniPCIe connector, Dual SIM interface
SAMPLE PRICE $113.00