TECHSHIP IS A GLOBAL SUPPLIER OF WIRELESS COMPONENTS

Register
Cellular Modules LTE CAT 6-18 LTE CAT 6-18 NGFF/M.2

Telit LN940 A9 LTE CAT-9 M.2

Article Number: 10672
Manufacturer: Telit
Supplier number: LN940A90477TGW0000

Telit LN940 A9 is a LTE Category 9 module in M.2 form factor. LN940 A9 supports up to 450 Mbps downlink and has global 3G fallback. It also comes with built in GNSS.

This compact module is uniquely designed to combine critical features with enhancements such as Adaptive Clocking, Selective Suspend, Link Power Management, Dynamic Power Reduction, and Tunable Antenna. Enablement that together deliver the most streamlined, reliable user experience possible.





Quantity Sample Price
≥ 1 $188.90
≥ 1 €173.80

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
UMTS Bands
B1 (2100)
B2 (1900)
B19 (800)
B8 (900)
B4 (AWS)
B3 (1800)
B5 (850)
B6 (800)
MIMO (Multiple-Input Multiple-Output)
Yes
LTE Bands
B1 (2100)
B2 (1900)
B3 (1800)
B4 (AWS)
B7 (2600)
B8 (900)
B12 (700ac)
B13 (700c)
B17 (700bc)
B18 (800lower)
B19 (800 upper)
B20 (800DD)
B21 (1500upper)
B5 (850)
B25 (1900)
B38 (TDD 2600)
B40 (TDD 2300)
B26 (US 850 Ext)
B28 (700 APAC)
B29 (US 700de Lower)
B39 (TDD 1900)
B41 (TDD 2500)
B30 (2300 WCS)
B66 (AWS-3)
Manufacturer
Telit
LTE Region
Europe
North America
APAC
Form Factor
M.2 3042
Technology
LTE - cat 9
Antenna Interface
IPEX MHF-4
GPS
Yes
GNSS technology
GPS
GLONASS
BeiDou
Max DL Speed
450 Mbps
Max UL Speed
50 Mbps
Chipset
MDM9x40
Operating Temperature Range
-40 °C – 85 °C
Driver Support
Linux
Windows 10
Interface
USB 3.0
Voice Call Support
No
GNSS antenna support
Passive
SIM interface
Through M.2 connector
GPIO
No
Extended Operating Temperature Range
-40 °C – 85 °C
Certification
FCC
CE
RoHS
GCF
PTCRB
IC
REACH

Datasheet for Telit LN94x series M.2 module.

Download

Uploaded at
2017-11-01 17:54:58
Last updated
2018-12-03 10:31:12
Version
11.2017
Related products
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
Telit LN941 LTE CAT-6, M.2

This user guide describes the hardware properties of the Telit LN940 series cellular modules.

Download

Uploaded at
2018-04-17 10:40:27
Last updated
2018-12-03 11:24:10
Version
R1.3
Related products
Telit LN940 A9 LTE CAT-9 M.2
Telit LN940 A11 LTE CAT-11 M.2

This user guide describes the AT commands supported by the Telit LN940 series cellular modules.

Download

Uploaded at
2018-04-17 10:45:07
Last updated
2018-12-03 09:38:47
Version
R2
Related products
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
Telit LN941 LTE CAT-6, M.2

This user guide describes how the intergration of Telit LN940 series cellular modules are performed in Linux environments.

Download

Uploaded at
2018-04-17 10:43:16
Last updated
2018-12-03 10:32:45
Version
V1.2
Related products
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
Telit LN941 LTE CAT-6, M.2

This documents declares the conformity for CE RED requirements for Telit LN940 A9 cellular module.

Download

Uploaded at
2018-04-19 10:23:25
Last updated
2018-04-19 10:23:25
Related products
Telit LN940 A9 LTE CAT-9 M.2

This archive contains the Telit LN94x series Linux drivers Driver Package and patching guides if needed due to kernel versions and feature support

Download

Uploaded at
2018-05-07 15:21:28
Last updated
2018-10-23 17:25:57
Version
V.0.00.01
Requirements
Linux host operating system
Related products
Telit LN940 A9 LTE CAT-9 M.2
Telit LN940 A11 LTE CAT-11 M.2
Telit LN941 LTE CAT-6, M.2

This archive contains the Telit LN94x Series AT Commands over MBIM Interface Helper Tool and manual

Download

Uploaded at
2018-07-18 16:38:52
Last updated
2018-07-18 16:38:52
Version
V.1.0.0.7
Requirements
Microsoft Windows 8
Microsoft Windows 8.1
Microsoft Windows 10
Telit LN94x series drivers
Related products
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
Telit LN941 LTE CAT-6, M.2

This archive contains the LN940 driver installer for Windows 10 systems.

Download

Uploaded at
2018-04-17 10:28:37
Last updated
2018-07-13 08:22:53
Version
V1.0.1.16
Requirements
Microsoft Windows 10
WHQL certified
Related products
Telit LN940 A9 LTE CAT-9 M.2
Telit LN940 A11 LTE CAT-11 M.2
Telit LN941 LTE CAT-6, M.2

This archive contains the Telit LN940 Firmware update binaries package T77W676.F0.0.0.4.4 with generic firmware as well as customized configurations for major networks operators worldwide (used by both Linux and Windows update procedure. The Firmware Image update and select FST tool for Windows is also included.

Download

Uploaded at
2018-07-19 08:56:06
Last updated
2018-10-25 10:03:42
Version
T77W676.F0.0.0.4.4 Global
Requirements
Microsoft Windows 8 and later
Telit LN94x series Windows drivers
Related products
Telit LN940 A11 LTE CAT-11 M.2
Telit LN940 A9 LTE CAT-9 M.2
Question

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

Solution

Several cellular modules based on Qualcomm chipsets implements the Qualcomm Qualcomm MSM (QMI) Interface.
There is a open source Linux in-kernel driver supporting this interface and it is called qmi_wwan. 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.

Sierra Wireless MC74**/EM74** series: requires RAW-IP configuration.
Sierra Wireless EM75** series: requires RAW-IP configuration.
Telit LM940: requires RAW-IP configuration.
Telit LN94x series: requires RAW-IP configuration.
Simcom SIM7500/SIM7600/SIM7600*-H series: requires RAW-IP configuration (supported in qmi_wwan driver kernel 4.18+).
Simcom SIM7100 series: 802.3 IP framing supported.
Sierra Wireless MC73**/EM73** series: 802.3 IP framing supported.

First install the libqmi Linux library e.g. by 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:
lsusb -t
Can look e.g. like this:
...
|__ Port 1: Dev 3, If 2, Class=Vendor Specific Class, Driver=qmi_wwan, 480M
...

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

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

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

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

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

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

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

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

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

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

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

Additional useful commands:

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

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

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

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

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

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

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

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

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

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

Question

How can we acquire IMSI and ICCID using Libqmi's command line interface qmicli in Linux systems for Qualcomm QMI devices not supporting deprecated commands: "--dms-uim-get-iccid" and "--dms-uim-get-imsi"?

Solution

Cellular modules based on recent Qualcomm MSM Interface (QMI) (MDM9240 etc.) do not support the deprecated QMI commands for requesting the SIM cards related ICCID code and subscription related IMSI code.

They can instead be read directly from the module using the command option and addresses bellow. The result will be represented as sequences of bytes in hex format with most significant bit to the right as read from the SIM card according to 3GPP standard ETSI TS 131 102.

ICCID :
--uim-read-transparent=0x3F00,0x2FE2

Example:
qmicli -p -d /dev/cdc-wdm0 --uim-read-transparent=0x3F00,0x2FE2
[/dev/cdc-wdm0] Successfully read information from the UIM:
Card result:
SW1: '0x90'
SW2: '0x00'
Read result:

98:54:40:12:51:50:72:40:09:98

Resulting in ICC Identification ID:
89 45 04 21 15 05 27 04 90 89



IMSI :
--uim-read-transparent=0x3F00,0x7FFF,0x6F07
Example:
qmicli -p -d /dev/cdc-wdm0 --uim-read-transparent=0x3F00,0x7FFF,0x6F07
[/dev/cdc-wdm0] Successfully read information from the UIM:
Card result:
SW1: '0x90'
SW2: '0x00'
Read result:
08:29:83:02:78:00:21:28:87

Resulting in IMSI (15 digit long):
2 38 20 87 00 12 82 78

Question

How can we configure Telit LN94* series cellular modules to expose QMI mode which is used by qmi_wwan or GobiNet drivers in Linux based systems?

Solution

The Telit LN94* series cellular module requires a USB mode change in order to expose the QMI network interface used by GobiNet drivers or the qmi_wwan drivers.

This procedure can be done once by AT commands (see further down) and it get stored in the modules NV memory for future on. You can also setup the common usb_modeswitch tool in Linux to this change for the Telit LN940 series modules at every device detection instead.

You can download and install usb_modeswitch tool from:
http://www.draisberghof.de/usb_modeswitch/

Or install it e.g. through a package manager if your Linux distribution supports one:
apt-get install usb-modeswitch

For manually perform the mode changing, you can execute the command bellow which alters the bConfigurationValue to 1:
usb_modeswitch -v 1bc7 -p 1900 -u 1

This will set the module to expose the QMI/RMNET interface as well as the related serial interfaces for Qualcomm diagnostics, NMEA and AT interface.

It can also be automated on every module detection in host system:
Open the file 40-usb_modeswitch.rules with a text editor found in /lib/udev/rules.d/ , e.g as bellow:
nano /lib/udev/rules.d/40-usb_modeswitch.rules

Add the following entry bellow and save the file:
#Telit LN94x series (QMI mode)
ATTR{idVendor}=="1bc7", ATTR{idProduct}=="1900", RUN+="usb_modeswitch '/%k'", RUN+="/sbin/modprobe qmi_wwan"

(the additional RUN+="/sbin/modprobe qmi_wwan" can be used to trigger the loading of qmi_wwan driver so it get assigned after mode change)
Create a new text file in the folder /etc/usb_modeswitch.d/ called 1bc7:1900 e.g:
nano /etc/usb_modeswitch.d/1bc7:1900

Paste in the following configuration lines in the editor and save the file:
# Telit LN94x series (QMI mode)
TargetVendor=0x1bc7
TargetProduct=0x1900
Configuration=1
NoDriverLoading=1

You can run the command bellow to update the udev rules in the system:
udevadm control --reload-rules && udevadm trigger

If you restart the system now, the USB mode switching should be done automatically, and the correct USB mode endpoints and drivers loaded as bellow. (Provided that you have modified the option.c and qmi_wwan.c source files and rebuilt the option and qmi_wwan modules according to Telit instructions in "Telit LN94x series Linux Driver Source Package V.0.00.01" downloadable resource.

lsusb
Bus 002 Device 002: ID 1bc7:1900 Telit Wireless Solutions

lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 5000M
|__ Port 4: Dev 2, If 0, Class=Vendor Specific Class, Driver=option, 5000M
|__ Port 4: Dev 2, If 1, Class=Vendor Specific Class, Driver=qmi_wwan, 5000M
|__ Port 4: Dev 2, If 2, Class=Vendor Specific Class, Driver=option, 5000M
|__ Port 4: Dev 2, If 3, Class=Vendor Specific Class, Driver=option, 5000M
|__ Port 4: Dev 2, If 4, Class=Vendor Specific Class, Driver=option, 5000M

If this is not occurring correctly, usb_modeswitch debug logging can be turned on by editing the usb_modeswitch.conf file located in /etc/:
nano /etc/usb_modeswitch.conf

The log file can be found in:
/var/log/usb_modeswitch.log

Please note that all Linux command line commands were executed with elevated / root privileges in this example.

How to change the USB mode via AT commands:

By default configuration there is no serial interfaces available that can accept AT commands in Windows system, but a tool can be used to issue the AT commands over MBIM interface, enabling you to set the module in other configuration than the default one.

Download and install "Telit LN94x Series Microsoft Windows Driver Installer" in you Windows 10 system, now the module should be detected correctly, check e.g. in device manager.

Download and open the "Telit LN94x Series AT Commands over MBIM Interface Helper Tool" application.
In the application, open the Telit LN94x MBIM device and send the AT command according to desired mode:

AT^SETMODE=0
Default mode, MBIM interface only for Windows.
Supported in Windows 10 systems.
USB VID: 1bc7 PID: 1900

AT^SETMODE=1
MBIM mode with serial interfaces
Supported in Windows 10 systems
USB VID: 1bc7 PID: 1901

AT^SETMODE=2
QMI/RMNET and serial interfaces
Supported in Linux systems
USB VID: 1bc7 PID: 1900

Sending the AT command should result in the cellular module automatically restarting with the new usb endpoint configuration exposed.
Please note that the Windows system do not load correct drivers for the module any longer after the USB endpoint configuration is changed.

Question

How to collect initial diagnostics data and logs for Telit LN940 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:
-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 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.

Test AT command:
AT
Enable command echo:
ATE1
Module make, type, ID and revision:
ATI
Verbose error reporting:
AT+CMEE=2
Module model:
AT+CGMM
Firmware version:
AT+CGMR
AT+SKUID
IMEI Code:
AT+CGSN
USB PID/endpoint configuration:
AT+USBSWITCH?
USB type:
AT^USBTYPE?
Operational mode:
AT+CFUN?
Check SIM card status:
AT$QCSIMSTAT?
Check SIM PIN status:
AT+CPIN?
Access techniques and configuration:
AT+WS46?
AT$QCBANDPREF?
AT^SYSCONFIG?
AT^SYSINFO
AT$QCNSP?
AT^SLMODE?
AT^SLBAND?
AT^CA_ENABLE?
AT^BAND_PRI?
List network operator info:
AT+COPS?
Network registration status:
AT+CREG=2
AT+CREG?
AT+CGREG?
AT+CEREG?
Signal strength:
AT+CSQ
AT$QCSQ
AT$QCRPW
SIM app status:
AT$QCSIMAPP=?
Last serving cell network information:
AT$QCRSRP?
AT$QCRSRQ?
Debug information:
AT^DEBUG?
AT^RFSTS?
AT^ABAND?
AT^CA_INFO?
List APN details:
AT+CGDCONT?
AT$QCPDPP?
AT$QCAPNE?
AT$QCPDPCFGEXT?
AT$QCPRFCRT?
Attach UE to default PDP Context:
AT+CGATT=1
List default data connection details:
AT+CGCONTRDP
List IP addresses:
AT+CGPADDR

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

Question

How to collect initial diagnostics data and logs for Telit cellular modules needed when requesting Techship technical support?

Solution

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:
-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 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.

Test that you get a OK reply:
AT
Enable AT command echo:
ATE1
Verbose error reporting:
AT+CMEE=2
Module model:
AT+CGMM
Firmware version:
AT+CGMR
IMEI Code:
AT+CGSN
USB endpoint configuration:
AT#USBCFG?
Serial port configuration:
AT#PORTCFG?
Operational mode:
AT+CFUN?
Selected network access techniques:
AT+WS46?
List network operator info:
AT+COPS?
Network registration status:
AT+CREG=2
AT+CREG?
AT+CGREG?
Signal strength:
AT+CSQ
Last serving cell network information:
AT#SERVINFO
Current network status:
AT#RFSTS
List APN details:
AT+CGDCONT?
List Packet switch enable/disable status:
AT+CGATT?
Enable Packet Switched functionality:
AT+CGATT=1
List PDP profiles status:
AT+CGACT?
List default data connection details:
AT#BND?
List bearers and IP addresses:
AT+CGCONTRDP=
AT+CGPADDR=

Additional test commands for Telit LM940/LM960:
AT#FIRMWARE
AT#FIRMWARE?
AT#GETFW
AT#ACTIVEFW?
AT#CACTL?
AT#RXDIV?
AT#RXTOGGLE?
AT#LRXDIV?
AT#TEMPSENS?
AT#GPIO?
AT#HWREV
AT#QSS?
AT#USB3TUNE?

AT#USBSWITCH?


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

Question

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

Solution

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

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

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

You might also be interested in