Telit Modules Linux USB Drivers
Software User Guide
Telit Technical Documentation
APPLICABILITY TABLE
| PRODUCTS | AVAILABLE SINCE KERNEL VERSION |
| DE910 SERIES | 3.4 |
| FD980 SERIES | 5.14 |
| FN980 SERIES | 5.5 |
| FN990 SERIES | 5.16 |
| GE910 SERIES | 4.4 |
| HE910 SERIES | 4.4 |
| LE866 SERIES | 2.6.39 |
| LE910 SERIES | 3.18 |
| LE910Cx SERIES | 4.11 |
| LE910C1-EUX SERIES | 5.8 |
| LE910D1 SERIES | 2.6.39 |
| LE910R1 SERIES | 5.17 |
| LE910S1 SERIES | 5.13 |
| LE910 V2 SERIES | 3.12 |
| LM940 SERIES | 4.1 |
| LM960 SERIES | 4.1 |
| LN920 SERIES | 5.15 |
| LN940 SERIES | 4.2 |
| ME910C1 SERIES | 4.15 |
| MEx10G1 SERIES | 5.5 |
| ML865C1 SERIES | 4.15 |
| ML865G1 SERIES | 5.5 |
| UE866 SERIES | 4.4 |
| UE910 SERIES | 4.4 |
| UL865 SERIES | 4.4 |
INTRODUCTION
1.1.Scope
This document describes which Linux kernel drivers should be used for the Telit modules listed in the applicability table and how Linux devices can be used for typical use cases.
1.2.Audience
This document is intended for Telit customers, especially system integrators, who are about to implement the Telit modules listed in the applicability table in a Linux environment.
1.3.Contact Information, Support
For general contact, technical support services, technical questions, and reports of documentation errors contact Telit Technical Support at:
Alternatively, use:
https://www.telit.com/contact-us/
For detailed information about where you can buy the Telit modules or for recommendations on accessories and components visit: https://www.telit.com Our aim is to make his guide as helpful as possible. Keep us informed of your comments and suggestions for improvements. Telit appreciates the user feedback on our information.
1.4. Symbol Conventions
| Danger: This information MUST be followed or catastrophic equipment failure or personal injury may occur. | |
| Warning: Alerts the user on important steps about the module integration. | |
| Note/Tip: Provides advice and suggestions that may be useful when integrating the module. |
|
| Electro-static Discharge: Notifies the user to take proper grounding precautions before handling the product. |
Table 1: Symbol Conventions
All dates are in ISO 8601 format, that is YYYY-MM-DD.
1.5. Related Documents
- Telit QMI SDK and TQCM User Guide, 1VV0301643
- uxfp Software User Guide, 1VV0301613
- AT Commands Reference Guide of Telit modules listed in the applicability table
2. OPERATING SYSTEM SETUP
2.1. Summary
The Telit modules listed in the Applicability Table expose different kinds of devices according to the Product ID (PID) in use. The table below lists the association between the device type and the kernel driver used:
| Device type | Kernel module |
| Serial port following the CDC-ACM standard | cdc_acm |
| Serial port (reduced ACM) | option |
| Network adapter following the CDC-ECM standard | cdc_ether |
| Network adapter following the CDC-NCM standard | cdc_ncm |
| Network adapter following Microsoft RNDIS specification | rndis_host |
| Mobile broadband adapter following CDC-MBIM standard | cdc_mbim |
| Rmnet mobile broadband adapter | qmi_wwan |
| Android Debug Bridge (ADB) | N/A (managed at the userspace level) |
| Audio device | snd-usb-audio |
In order to use a specific device type, the related module should be included in the kernel build.
Some kernel modules can be found starting with a specific kernel version (e.g. cdc_mbim is available from 3.8). If the driver is not supported by the kernel version in use, consider upgrading the kernel or backporting the needed patches.
2.2 USB Compositions
2.2.1. PIDs and Related Compositions
The following table lists the currently supported USB compositions in Linux according to
the PID:
| PID | Composition |
| 0x1071 | 5 reduced ACM devices + 1 MBIM adapter + 1 ADB |
| 0x1072 | 5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB |
| 0x1073 | 5 reduced ACM devices + 1 ECM network adapter + 1 ADB |
| 0x1100 | 2 reduced ACM devices + 1 rent adapter + 1 QDSS device (not supported) |
| 0x1101 | 3 reduced ACM devices + 1 net adapter |
| 0x1102 | 3 reduced ACM devices + 1 ECM network adapter |
| 0x110a | 3 reduced ACM devices. The composition presents also 1 rent adapter, but it can’t be used for data calls, just for controlling the device |
| 0x110b | 3 reduced ACM devices + 1 ECM network adapter |
| 0x1200 | 5 reduced ACM devices + 1 rent adapter + 1 ADB |
| 0x1201 | 5 reduced ACM devices + 1 rent adapter + 1 ADB |
| 0x1203 | 5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB |
| 0x1204 | 5 reduced ACM devices + 1 MBIM adapter + 1 ADB |
| 0x1206 | 5 reduced ACM devices + 1 ECM network adapter + 1 ADB |
| 0x1207 | 2 reduced ACM devices |
| 0x1208 | 3 reduced ACM devices + 1 ADB |
| 0x1211 | 1 reduced ACM device + 1 ECM network adapter + 1 ADB |
| 0x1212 | 1 reduced ACM device + 1 ADB |
| 0x1213 | 1 reduced ACM device + 1 ECM network adapter |
| 0x1214 | 2 reduced ACM devices + 1 ECM network adapter + 1 ADB |
| 0x1230 | 5 reduced ACM devices + 1 rent adapter + 1 ADB + 1 audio device |
| 0x1231 | 5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB + 1 audio device |
| 0x1260 | 5 reduced ACM devices + 1 rent adapter + 1 ADB |
| 0x1261 | 5 reduced ACM devices + 1 rent adapter + 1 ADB |
| 0x1900 | 4 reduced ACM devices + 1 rent adapter |
| 0x1901 | 4 reduced ACM devices + 1 MBIM adapter |
| 0x2300 | Config. 1: 3 CDC-ACM devices + 1 RNDIS network adapter Config. 2: 3 CDC-ACM devices + 1 ECM network adapter |
| 0x7010 | 3 reduced ACM devices + 1 RNDIS network adapter |
| 0x7011 | 3 reduced ACM devices + 1 ECM network adapter |
| 0x701a | 3 reduced ACM devices + 1 RNDIS network adapter |
| 0x701b | 3 reduced ACM devices + 1 ECM network adapter |
Table 3: PIDs and related compositions
For additional details on the composition, please refer to the software user guide of the module in use.
The command:
$ lsusb
can be used for listing the USB devices connected to the host.
Refer to the modem user guide to understand how to change the USB composition and to identify the scope of the exposed devices.
2.2.2. Multi-configuration compositions
Some compositions show multiple configurations (e.g. 0x1056): by default the first
configuration is used by the system.
To change the configuration, the desired value should be written to the file:
/sys/bus/USB/devices/<device path>/configuration value e.g.
# echo <configuration value> > /sys/bus/USB/devices/<device path>/configuration value
Tool usb_modeswitch can also be used to change the configuration, e.g.:
# usb_modeswitch -v 0x1bc7 -p <pid> -u <configuration value>
2.2.3. Kernel Module Option
When using a supported composition requiring the option kernel module and the serial ports are not available in /dev, it is possible that support for that composition has been
added in a more recent kernel version than the one in use.
The solution is to upgrade the kernel version or backport the needed patches among the ones listed in chapter 5.
It is possible to add runtime support for the composition in use. With root privileges, type the following commands:
Telit Modules Linux USB Drivers Software User Guide
# modprobe option
# echo 1bc7 <PID> > /sys/bus/USB-serial/drivers/option1/new_id
where <PID> is the PID of the composition to be supported.
If a network adapter is also available in the composition, make sure it is properly recognized by the kernel before adding runtime support for serial ports.
If the ADB device is available in the composition, adding runtime support for serial ports prevents the ADB device from working properly, since it is bound to a serial port.
For the most up-to-date list of Telit PIDs supported as an option, refer to the source code in mainline, looking for all the device entries with TELIT_VENDOR_ID Vendor ID (VID).
If support for a composition missing in paragraph 2.2.1 is needed, contact customer support with the request.
2.2.4. Kernel Module qmi_wwan
When using a supported composition requiring the qmi_wwan kernel module and no modem-related network interface is available in the list provided by the command:
$ IP link show
it is possible that support for that composition has been added in a newer kernel version than the one in use.
The solution is to upgrade the kernel version or backport the needed patches among the ones listed in chapter 5.
If the kernel in use has to commit CDC-WDM: fix “out-of-sync” due to missing notifications, it should be reverted as done in commit USB:
Revert “CDC-WDM: fix “out-of-sync” due to missing notifications”
For the most up-to-date list of Telit PIDs supported as an option, refer to the source code in mainline, looking for all the entries of the device with Vendor ID (VID) 0x1bc7.
If support for a composition missing in paragraph 2.2.1 is needed, contact customer support with the request.
2.2.4.1. qmi_wwan and QMAP
Since kernel version 4.12, qmi_wwan supports Qualcomm Multiplexing and Aggregation Protocol (QMAP).
QMAP is needed for multiple concurrent PDNs management and to get the most from high-cat modems in terms of throughput.
Kernel side QMAP management is done through qmi_wwan sys files: check kernel documentation for further details.
QMAP enablement requires also a special modem configuration executed at the userspace level: the procedure to follow depends on the used tools.
Please check relevant qmi_wwan QMAP-related fixes in paragraph 6.2 to get a stable version.
When QMAP is not set, the RX URB size in qmi_wwan should be greater than 2048 bytes.
This setting can be configured at runtime, changing the MTU of the network interface to an allowed value > 2048 (should not be a multiple of the endpoint max packet size) before setting up the data connection, e.g. IP link set <network interface name> MTU 2500
For a permanent setting, the following line: dev->rx_urb_size = 2048; should be added to qmi_wwan.c function qmi_wwan_bind before returning in the successful case.
USING THE MODEM
3.1 Using the Serial Ports
According to the driver in use, the following devices are created for serial ports:
| Device type | Kernel module |
| /dev/ttyACMx | cdc_acm |
| /dev/ttyUSBx | option |
Table 4: device names and related kernel modules
These are Linux character devices and support most of the features implemented by the tty layer: for example, a terminal emulator like minicom can be used to send AT commands.
When writing code for using these devices, please refer to the programming language API related to character devices. As an example, C applications can use the exported functions in the system header files fcntl. h and unistd. h. Please refer to the related man page for further details.
When sending AT commands, it is mandatory to have the DTR asserted to get the response.
3.1.1. Data Connection through Serial Ports
To create dial-up connections through serial ports the software pppd can be used. Please refer to pppd official website for further details and updated source code.
3.2 Using the Network Adapter
If a network adapter or mobile broadband device is available and the related kernel module is loaded, a network interface is created by the operating system.
Standard Linux commands (e.g. IP, ifconfig) can be used to manage the network interface: please refer to the man page of the command for further details.
3.2.1. Data Connection through the Network Interface
For establishing a data connection through the network interface refer to the instructions in the table below according to the kernel module in use:
Telit Modules Linux USB Drivers Software User Guide
| Kernel module | Procedure |
| qmi_wwan | The libqmi project can be used: refer to the project documentation for further details. Telit provides also a proprietary QMI SDK, refer to document 1VV0301643, |
| cdc_mbim | The libmbim project can be used: refer to the project documentation for further details. |
| cdc_ether | AT commands should be used: refer to the modem documentation for further details. |
| cdc_ncm | AT commands should be used: refer to the modem documentation for further details. |
| rndis_host | AT commands should be used: refer to the modem documentation for further details. |
Table 5: kernel module in use for the network device and related data connection procedure
3.3 Using the Modem with ModemManager and NetworkManager
ModemManager is a DBus-activated daemon that controls mobile broadband (2G/3G/4G) devices and connections.
ModemManager provides a unified high-level API for communicating with mobile broadband modems, regardless of the protocol used to communicate with the actual device (AT commands, MBIM, QMI).
For managing non-AT-based modems, ModemManager uses external libraries: freedesktop.org libqmi for QMI-based modems, libmbim for MBIM-based modems.
ModemManager can be used with freedesktop.org NetworkManager for easier network connections management.
NetworkManager is the standard Linux network configuration tool suite. It supports a wide range of networking setups, from desktop to server and mobile, integrating well with popular desktop environments and server configuration management tools.
NetworkManager provides a complete D-Bus API used to access the NetworkManager daemon. This interface can be used to query network status and the details of network interfaces such as current IP addresses or DHCP options. The API can also be used for managing the connections (creation, activation, deactivation…).
NetworkManager uses freedesktop.org ModemManager to support mobile broadband devices.
FLASHING DEVICES
4.1 Overview
The modems listed in the following table support firmware updates through special flashing devices that may require binding to a kernel module:
| Product | VID:PID | Kernel module | Device name |
| FD980, FN980, FN990, LE910C1-EUX, LN920 |
0x1bc7:0x9010 | option | /dev/ttyUSBx |
| GE/HE/UE910, UE866, UL865 | 0x058b:0x0041 | usb-serial-simple | /dev/ttyUSBx |
| LE910Cx, LM940, LM960 | 0x18d1:0xd00d | Managed at the userspace level | n/a |
| LE910 V2 | 0x8087:0x0716 | usb-serial-simple | /dev/ttyUSBx |
| LE866, LE910D1 | 0x216F:0x0051 | cdc_acm | /dev/ttyACMx |
| LE910S1 | 0x1bc7:0x9200 | option | /dev/ttyUSBx |
| LE910R1 | 0x1bc7:0x9201 | option | /dev/ttyUSBx |
Table 6: flashing devices
The Flashing devices available in GE/HE/UE910, UE866, UL865, LE910 V2, LE940B6, and LE866 appear for a few seconds when the modem is turned on: if the flashing application is not running, the flashing device disconnects and the modem proceeds in normal operative mode.
Check chapter 5 for flashing device support in kernel versions.
4.2 Flashing Device 0x18d1:0xd00d
The Flashing device 0x18d1:0xd00d is managed at the userspace level by the Telit firmware update application up. Refer to document 1VV0301613 for further details.
Legacy Telit firmware update application life requires binding the device to the option driver.
This can be permanently done by adding the following line: { USB_DEVICE(0x18d1, 0xd00d) } to the struct usb_device_id option_ids in the kernel source drivers/USB/serial/option.c
For testing purposes, the procedure described in paragraph 2.2.2 can be used:
$ modprobe option
$ echo 18d1 d00d > /sys/bus/usb-serial/drivers/option1/new_id
4.3 Flashing Device 0x058b:0x0041
Even though the flashing device 0x058b:0x0041 presents itself as an ACM device, it should be driven by the kernel driver usb-serial-simple. Support for this device is available since kernel version 4.4.
Previous kernel versions require commits kernel/git/torvalds/linux.git – Linux kernel source tree and kernel/git/torvalds/linux.git – Linux kernel source tree.
4.4 Flashing Device 0x8087:0x0716
Support for flashing device 0x8087:0x0716 is available since kernel version 3.12 with driver USB-serial-simple.
Previous kernel versions require committing kernel/git/torvalds/linux.git – Linux kernel source tree
TELIT KERNEL COMMITS
Below is a list of kernel commits related to the compositions available for the modems listed in the applicability table: consider backporting if the required PID is not available
in the used kernel version.
| Summary | VID:PID | Commit | Availability |
| USB: option driver: adding support for Telit CC864-SINGLE, CC864-DUAL and DE910-DUAL modems |
0x1bc7:0x1005 0x1bc7:0x1006 0x1bc7:0x1010 |
7204cf584836c24b4b06e4ad4a8e6bb8ea84908e | v3.4-rc1 |
| USB: option driver, add support for Telit UE910v2 |
0x1bc7:0x1012 | d6de486bc22255779bd54b0fceb4c240962bf146 | v3.15-rc2 |
| USB: option: add support for Telit LE920 |
0x1bc7:0x1200 | 03eb466f276ceef9dcf023dc5474db02af68aad9 | v3.8-rc7 |
| NET: qmi_wwan: add Telit LE920 support | 0x1bc7:0x1200 | 3d6d7ab5881b1d4431529410b949ba2e946f3b0f | v3.8-rc7 |
| net: qmi_wwan: add Telit LE920 newer firmware support |
0x1bc7:0x1201 | 905468fa4d54c3e572ed3045cd47cce37780716e | v3.13-rc1 |
| usb: option: add support for Telit LE910 |
0x1bc7:0x1201 | 2d0eb862dd477c3c4f32b201254ca0b40e6f465c | v3.18-rc3 |
| USB: cdc_acm: Ignore Infineon Flash Loader utility |
0x058b:0x0041 | f33a7f72e5fc033daccbb8d4753d7c5c41a4d67b | v4.4-rc5 |
| USB: serial: Another Infineon flash loader USB ID | 0x058b:0x0041 | a0e80fbd56b4573de997c9a088a33abbc1121400 | v4.4-rc5 |
| USB: serial: option: Adding support for Telit LE922 |
0x1bc7:0x1042 0x1bc7:0x1043 |
ff4e2494dc17b173468e1713fdf6237fd8578bc7 | v4.5-rc2 |
| USB: serial: option: add support for Telit LE922 PID 0x1045 |
0x1bc7:0x1045 | 5deef5551c77e488922cc4bf4bc76df63be650d0 | v4.5-rc7 |
| net: USB: cdc_ncm: adding Telit LE910 V2 mobile broadband card | 0x1bc7:0x0036 | 79f4223257bfef52b0a26d0d7ad4019e764be6ce | v4.6-rc2 |
| USB: serial: option: add support for Telit LE910 PID 0x1206 |
0x1bc7:0x1206 | 3c0415fa08548e3bc63ef741762664497ab187ed | v4.8-rc1 |
| USB: serial: option: add support for Telit LE920A4 |
0x1bc7:0x1207 0x1bc7:0x1208 0x1bc7:0x1211 0x1bc7:0x1212 0x1bc7:0x1213 0x1bc7:0x1214 |
01d7956b58e644ea0d2e8d9340c5727a8fc39d70 | v4.8-rc3 |
| NET: USB: qmi_wwan: add support for Telit LE922A PID 0x1040 | 0x1bc7:0x1040 | 9bd813da24cd49d749911d7fdc0e9ae9a673d746 | v4.9-rc8 |
| NET: USB: cdc_mbim: add quirk for supporting Telit LE922A |
0x1bc7:0x1041 | 7b8076ce8a00d553ae9d3b7eb5f0cc3e63cb16f1 | v4.9 |
| USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041 |
0x1bc7:0x1040 0x1bc7:0x1041 |
5b09eff0c379002527ad72ea5ea38f25da8a8650 | v4.10-rc1 |
| drivers: net: USB: qmi_wwan: add QMI_QUIRK_SET_DT R for Telit PID 0x1201 |
0x1bc7:0x1201 | 14cf4a771b3098e431d2677e3533bdd962e478d8 | v4.11-rc7 |
| net: USB: qmi_wwan: add Telit ME910 support |
0x1bc7:0x1100 | 4c54dc0277d0d55a9248c43aebd31858f926a056 | v4.12-rc1 |
| USB: serial: option: add Telit ME910 support |
0x1bc7:0x1100 | 40dd46048c155b8f0683f468c950a1c107f77a7c | v4.12-rc1 |
| net: USB: qmi_wwan:add Telit ME910 PID0x1101 support | 0x1bc7:0x1101 | c647c0d62c82eb3ddf78a0d8b3d58819d9f552aa | v4.15-rc4 |
| USB: serial: option: add support for Telit ME910 PID 0x1101 |
0x1bc7:0x1101 | 08933099e6404f588f81c2050bfec7313e06eeaf | v4.15-rc6 |
| net: USB: cdc_mbim: add flag FLAG_SEND_ZLP |
0x1bc7:0x1041 | 9f7c728332e8966084242fcd951aa46583bc308c | v4.17 |
| USB: serial: option:add Telit LN940 series |
0x1bc7:0x1900 0x1bc7:0x1901 |
28a86092b1753b802ef7e3de8a4c4a69a9c1bb03 | v4.20 |
| qmi_wwan: Added support for Telit LN940 series |
0x1bc7:0x1900 | 1986af16e8ed355822600c24b3d2f0be46b573df | v4.20 |
| USB: CDC-ACM: send ZLP for Telit 3G Intel-based modems | 0x1bc7:0x0021 0x1bc7:0x0023 |
34aabf918717dd14e05051896aaecd3b16b53d95 | v5.0-rc2 |
| USB: serial: option: add Telit ME910 ECM composition | 0x1bc7:0x1102 | 6431866b6707d27151be381252d6eef13025cfce | v5.1-rc1 |
| net: USB: qmi_wwan: add Telit 0x1260 and 0x1261 compositions | 0x1bc7:0x12600x1bc7:0x1261 | b4e467c82f8c12af78b6f6fa5730cb7dea7af1b4 | v5.2-rc2 |
| USB: serial: option: add Telit 0x1260 and 0x1261 compositions |
0x1bc7:0x12600x1bc7:0x1261 | f3dfd4072c3ee6e287f501a18b5718b185d6a940 | v5.2-rc5 |
| USB: serial: option: add Telit FN980 compositions |
0x1bc7:0x1050 0x1bc7:0x1051 0x1bc7:0x1052 0x1bc7:0x1053 |
5eb3f4b87a0e7e949c976f32f296176a06d1a93b | v5.4-rc3 |
| net: USB: qmi_wwan: add Telit 0x1050 composition |
0x1bc7:0x1050 | e0ae2c578d3909e60e9448207f5d83f785f1129f | v5.4-rc4 |
| USB: serial: option: add Telit ME910G1 0x110a composition |
0x1bc7:0x110a | 0d3010fa442429f8780976758719af05592ff19f | v5.5-rc6 |
| USB: serial: option: add ZLP support for 0x1bc7/0x9010 |
0x1bc7:0x9010 | 2438c3a19dec5e98905fd3ffcc2f24716aceda6b | v5.5-rc6 |
| USB: serial: option: add ME910G1 ECM composition 0x110b |
0x1bc7:0x110b | 8e852a7953be2a6ee371449f7257fe15ace6a1fc | v5.6-rc7 |
| net: usb: qmi_wwan:add Telit LE910C1EUX composition | 0x1bc7:0x1031 | 591612aa578cd7148b7b9d74869ef40118978389 | v5.7 |
| USB: serial: option: add Telit LE910C1EUX compositions | 0x1bc7:0x1031 0x1bc7:0x1033 |
399ad9477c523f721f8e51d4f824bdf7267f120c | v5.8-rc1 |
| USB: serial: option: add LE910Cx compositions 0x1203, 0x1230, 0x1231 | 0x1bc7:0x1203 0x1bc7:0x1230 0x1bc7:0x1231 |
489979b4aab490b6b917c11dc02d81b4b742784a | v5.10-rc3 |
| net: USB: qmi_wwan: add Telit LE910Cx 0x1230 composition |
0x1bc7:0x1230 | 5fd8477ed8ca77e64b93d44a6dae4aa70c191396 | v5.10-rc3 |
| USB: serial: option: add Telit FN980 composition 0x1055 |
0x1bc7:0x1055 | db0362eeb22992502764e825c79b922d7467e0eb | v5.10-rc3 |
| USB: serial: option: add Telit LE910-S1 compositions 0x7010, 0x7011 |
0x1bc7:0x7010 0x1bc7:0x7011 |
e467714f822b5d167a7fb03d34af91b5b6af1827 | v5.13-rc4 |
| USB: serial: option: add Telit FD980 composition 0x1056 |
0x1bc7:0x1056 | 5648c073c33d33a0a19d0cb1194a4eb88efe2b71 | v5.14-rc5 |
| net: USB: cdc_mbim: avoid alt setting toggling for Telit LN920 |
0x1bc7:0x1061 | aabbdc67f3485b5db27ab4eba01e5fbf1ffea62c | v5.15-rc1 |
| net: USB: qmi_wwan: add Telit 0x1060 composition |
0x1bc7:0x1060 | 8d17a33b076d24aa4861f336a125c888fb918605 | v5.15-rc1 |
| USB: serial: option: add Telit LN920 compositions |
0x1bc7:0x1060 0x1bc7:0x1061 0x1bc7:0x1062 0x1bc7:0x1063 |
7bb057134d609b9c038a00b6876cf0d37d0118ce | v5.15-rc3 |
| USB: serial: option: add Telit LE910Cx composition 0x1204 |
0x1bc7:0x1204 | f5a8a07edafed8bede17a95ef8940fe3a57a77d5 | v5.15-rc6 |
| USB: serial: option: add Telit LE910S1 0x9200 composition |
0x1bc7:0x9200 | e353f3e88720300c3d72f49a4bea54f42db1fa5e | v5.16-rc3 |
| USB: serial: option: add Telit FN990 compositions |
0x1bc7:0x1070 0x1bc7:0x1071 0x1bc7:0x1072 0x1bc7:0x1073 |
2b503c8598d1b232e7fc7526bce9326d92331541 | v5.16-rc6 |
| net: USB: qmi_wwan: add Telit 0x1070 composition |
0x1bc7:0x1070 | 94f2a444f28a649926c410eb9a38afb13a83ebe0 | v5.16-rc6 |
| net: USB: cdc_mbim: avoid alt setting toggling for Telit FN990 |
0x1bc7:0x1071 | 21e8a96377e6b6debae42164605bf9dcbe5720c5 | v5.17-rc5 |
| USB: serial: option: add Telit LE910R1 compositions |
0x1bc7:0x701a 0x1bc7:0x701b 0x1bc7:0x9201 |
cfc4442c642d568014474b6718ccf65dc7ca6099 | v5.17-rc6 |
Table 7: kernel commits related to Telit modules
ADDITIONAL KERNEL COMMITS
6.1 Raw-Ip Support and Important Fixes for qmi_wwan
Below is a list of commits for adding Raw-Ip support to qmi_wwan and addressing important issues.
| Summary | Commit | Availability |
| net: qmi_wwan: MDM9x30 specific power management | 93725149794d3d418cf1eddcae60c7b536c5faa1 | v4.5-rc1 |
| usbnet: allow mini-drivers to consume L2 headers |
81e0ce79f2919dbd5f025894d29aa806af8695c7 | v4.5-rc1 |
| net: qmi_wwan: support “raw IP” mode | 32f7adf633b9f99ad5089901bc7ebff57704aaa9 | v4.5-rc1 |
| net: qmi_wwan: should hold RTNL while changing netdev type | 6c730080e663b1d629f8aa89348291fbcdc46cd9 | v4.5-rc1 |
| net: qmi_wwan: ignore bogus CDC Union descriptors | 34a55d5e858e81a20d33fd9490149d6a1058be0c | v4.5-rc1 |
| qmi_wwan: Add missing skb_reset_mac_header-call | 0de0add10e587effa880c741c9413c874f16be91 | v4.14 |
| usbnet: fix alignment for frames with no ethernet header | a4abd7a80addb4a9547f7dfc7812566b60ec505c | v4.15-rc3 |
| qmi_wwan: set FLAG_SEND_ZLP to avoid network-initiated disconnect | 245d21190aec547c0de64f70c0e6de871c185a24 | v4.16-rc1 |
| qmi_wwan: Fix out-of-bounds read | 904d88d743b0c94092c5117955eab695df8109e8 | v5.2-rc7 |
Table 8: qmi_wwan relevant kernel commits
6.2 QMAP Support in qmi_wwan
Below is a list of commits for adding QMAP support to qmi_wwan.
| Summary | Commit | Availability |
| net: usb: qmi_wwan: add map mux protocol support | c6adf77953bcec0ad63d7782479452464e50f7a3 | v4.12-rc1 |
| qmi_wwan: fix NULL deref on disconnect | bbae08e592706dc32e5c7c97827b13c1c178668b | v4.13-rc5 |
| qmi_wwan: Fix map header retrieval in qmimux_rx_fixup | d667044f49513d55fcfefe4fa8f8d96091782901 | v4.20 |
| qmi_wwan: add MTU default to map network interface |
f87118d5760f00af7228033fbe783c7f380d2866 | v5.0-rc3 |
| qmi_wwan: add support for QMAP padding in the RX path | 61356088ace1866a847a727d4d40da7bf00b67fc | v5.2-rc6 |
| qmi_wwan: add network device usage statistics for qmimux devices | 44f82312fe9113bab6642f4d0eab6b1b7902b6e1 | v5.2-rc6 |
| qmi_wwan: avoid RCU stalls on device disconnect when in QMAP mode | a8fdde1cb830e560208af42b6c10750137f53eb3 | v5.2-rc6 |
| qmi_wwan: extend permitted QMAP mux_id value range | 36815b416fa48766ac5a98e4b2dc3ebc5887222e | v5.2-rc6 |
| qmi_wwan: Increase headroom for QMAP SKBs | 2e4233870557ac12387f885756b70fc181cb3806 | v5.12 |
| net: USB: qmi_wwan: add map id sys file for qmimux interfaces |
e594ad980ec26fb7351d02c84abaa77ecdb4e522 | v5.12-rc1dontuse |
| net: usb: qmi_wwan: allow qmimux add/del with master up | 6c59cff38e66584ae3ac6c2f0cbd8d039c710ba7 | v5.12-rc3 |
Table 9: qmi_wwan QMAP relevant kernel commits
PRODUCT AND SAFETY INFORMATION
7.1 Copyrights and Other Notices
SPECIFICATIONS ARE SUBJECT TO CHANGE WITHOUT NOTICE
Although reasonable efforts have been made to ensure the accuracy of this document, Telit assumes no liability resulting from any inaccuracies or omissions in this document, or from the use of the information contained herein. The information contained in this document has been carefully checked and is believed to be reliable. Telit reserves the right to make changes to any of the products described herein, to revise them, and to make changes from time to time without any obligation to notify anyone of such revisions or changes. Telit does not assume any liability arising from the application or use of any product, software, or circuit described herein; neither does it convey a license under its patent rights or the rights of others.
This document may contain references or information about Telit’s products (machines and programs), or services that are not announced in your country. Such references or the information does not necessarily mean that Telit intends to announce such Telit products, programming, or services in your country.
7.1.1. Copyrights
This instruction manual and the Telit products described herein may include or describe Telit copyrighted material, such as computer programs stored in semiconductor memories or other media. The laws in Italy and in other countries reserve to Telit and its licensors certain exclusive rights for copyrighted material, including the exclusive right to copy, reproduce in any form, distribute and make derivative works of the copyrighted material. Accordingly, any of Telit’s or its licensors’ copyrighted material contained herein or described in this instruction manual, shall not be copied, reproduced, distributed, merged or modified in any way without the express written permission of the owner. Furthermore, the purchase of Telit products shall not be deemed to grant in any way, neither directly nor by implication, or estoppel, any license.
7.1.2. Computer Software Copyrights
Telit and the Third Party supplied Software (SW) products, described in this instruction manual may include Telit’s and other Third Party’s copyrighted computer programs stored in semiconductor memories or other media. Laws in Italy and in other countries reserve to Telit and other Third parties, SW exclusive rights for copyrighted computer programs, including – but not limited to – the exclusive right to copy or reproduce in any form the copyrighted products. Accordingly, any copyrighted computer programs contained in Telit’s products described in this instruction manual shall not be copied (reverse engineered) or reproduced in any manner without the express written permission of the copyright owner, being Telit or the Third Party software supplier.
Furthermore, the purchase of Telit products shall not be deemed to grant either directly or by implication, estoppel, or in any other way, any license under the copyrights, patents, or patent applications of Telit or other Third Party supplied SW, except for the normal non-exclusive, royalty free license to use arising by operation of law in the sale of a product.
7.2 Usage and Disclosure Restrictions
7.2.1. License Agreements
The software described in this document is owned by Telit and its licensors. It is furnished by express license agreement only and shall be used exclusively in accordance with the terms of such agreement.
7.2.2. Copyrighted Materials
The Software and the documentation are copyrighted materials. Making unauthorized copies is prohibited by law. The software or the documentation shall not be
reproduced, transmitted, transcribed, even partially, nor stored in a retrieval system, nor translated into any language or computer language, in any form or by any means, without prior written permission of Telit.
7.2.3. High-Risk Materials
Components, units, or third-party goods used in the making of the product described herein are NOT fault-tolerant and are NOT designed, manufactured, or intended for use as online control equipment in the following hazardous environments requiring fail-safe controls: operations of Nuclear Facilities, Aircraft Navigation or Aircraft Communication Systems, Air Traffic Control, Life Support, or Weapons Systems (“High-Risk Activities”). Telit and its supplier(s) specifically disclaim any expressed or implied warranty of fitness eligibility for such High-Risk Activities.
7.2.4. Trademarks
TELIT and the Stylized T-Logo are registered in the Trademark Office. All other product or service names are the property of their respective owners.
7.2.5. Third Party Rights
The software may include Third Party’s software Rights. In this case, the user agrees to comply with all terms and conditions imposed in respect of such separate software rights. In addition to Third Party Terms, the disclaimer of warranty and limitation of liability provisions in this License shall apply to the Third Party Rights software as well.
TELIT HEREBY DISCLAIMS ANY AND ALL WARRANTIES EXPRESSED OR IMPLIED FROM ANY THIRD PARTY REGARDING ANY SEPARATE FILES, ANY THIRD PARTY MATERIALS INCLUDED IN THE SOFTWARE, ANY THIRD PARTY MATERIALS FROM WHICH THE SOFTWARE IS DERIVED (COLLECTIVELY “OTHER CODES”), AND THE USE OF ANY OR ALL OTHER CODES IN CONNECTION WITH THE SOFTWARE, INCLUDING (WITHOUT LIMITATION) ANY WARRANTIES OF SATISFACTORY QUALITY OR FITNESS FOR A PARTICULAR PURPOSE.
NO THIRD-PARTY LICENSORS OF OTHER CODES MUST BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOSS OF PROFITS), HOWEVER, CAUSED AND WHETHER MADE UNDER CONTRACT, TORT, OR OTHER LEGAL THEORY, ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE OTHER CODES OR THE EXERCISE OF ANY RIGHTS GRANTED UNDER EITHER OR BOTH THIS LICENSE AND THE LEGAL TERMS APPLICABLE TO ANY SEPARATE FILES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7.2.6. Waiver of Liability
IN NO EVENT WILL TELIT AND ITS AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, GENERAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY INDIRECT DAMAGE OF ANY KIND WHATSOEVER, INCLUDING BUT NOT LIMITED TO REIMBURSEMENT OF COSTS, COMPENSATION OF ANY DAMAGE, LOSS OF PRODUCTION, LOSS OF PROFIT, LOSS OF USE, LOSS OF BUSINESS, LOSS OF DATA OR REVENUE, WHETHER OR NOT THE POSSIBILITY OF SUCH DAMAGES COULD HAVE BEEN REASONABLY FORESEEN, CONNECTED IN ANY WAY TO THE USE OF THE PRODUCT/S OR TO THE INFORMATION CONTAINED IN THE PRESENT DOCUMENTATION, EVEN IF TELIT AND/OR ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR THEY ARE FORESEEABLE OR FOR CLAIMS BY ANY THIRD PARTY.
7.3 Safety Recommendations
Make sure the use of this product is allowed in your country and in the environment required. The use of this product may be dangerous and has to be avoided in areas where:
- it can interfere with other electronic devices, particularly in environments such as hospitals, airports, aircraft, etc.
- there is a risk of explosion such in gasoline stations, oil refineries, etc. It is the responsibility of the user to enforce the country’s regulations and the specific environmental regulation.
Do not disassemble the product; any mark of tampering will compromise the warranty validity. We recommend following the instructions of the hardware user guides for the correct wiring of the product. The product has to be supplied with a stabilized voltage source and the wiring has to be conformed to the security and fire prevention regulations.
The product has to be handled with care, avoiding any contact with the pins because electrostatic discharges may damage the product itself. Same cautions have to be taken for the SIM, checking carefully the instruction for its use. Do not insert or remove the SIM when the product is in power-saving mode.
The system integrator is responsible for the functioning of the final product. Therefore, the external components of the module, as well as any project or installation issue, have
to be handled with care. Any interference may cause the risk of disturbing the GSM network or external devices or having an impact on the security system. Should there be any doubt, please refer to the technical documentation and the regulations in force. Every module has to be equipped with a proper antenna with specific characteristics. The antenna has to be installed carefully in order to avoid any interference with other electronic devices and has to guarantee a minimum distance from the body (20 cm). In case this requirement cannot be satisfied, the system integrator has to assess the final product against the SAR regulation.
The equipment is intended to be installed in a restricted area location.
The equipment must be supplied by an external specific limited power source in compliance with the standard EN 62368-1:2014.
The European Community provides some Directives for the electronic equipment introduced on the market. All of the relevant information is available on the European Community website:
https://ec.europa.eu/growth/sectors/electrical-engineering_en
GLOSSARY
| ACM | Abstract Control Model |
| ADD | Android Debug Bridge |
| CDC | Communications Class Device |
| ECM | Ethernet Control Model |
| MB | Mobile Broadband Interface Model |
| NCM | Network Control Model |
| PPP | Point to Point Protocol |
| MAP | Qualcomm Multiplexing and Aggregation Protocol |
| USB | Universal Serial Bus |
DOCUMENT HISTORY
| Revision | Date | Changes |
| 14 | 2022-03-02 | Added LE910R1 in the applicability table Added LE910R1 compositions 0x701A, 0x701B Added LE910R1 composition 0x9201 and related entry in Table 6 |
| 13 | 2021-12-13 | Added LE910C1 composition 0x1204 Added LE910S1 composition 0x9200 and related entry in Table 6 Added FN990 compositions 0x1070, 0x1071, 0x1072, 0x1073 |
| 12 | 2021-09-24 | Added LN920 in the applicability table and related kernel commits |
| 11 | 2021-08-09 | Added FD980 composition 0x1056 Added FD980 in the applicability table Added paragraph “Multi-configuration compositions” |
| 10 | 2021-06-14 | Changed document template and reworded some paragraphs Fixed FN980 kernel version availability in applicability table Added LE910S1 to the applicability table Added LE910S1 0x7010 and 0x7011 composition description and related kernel commits Added QMAP paragraph and related kernel commits Modified flashing device information for 0x18d1:0xd00d and 0x8087:0x0801 (removed) Changed kernel commit references from GitHub to git.kernel.org |
| 9 | 2020-11-09 | Added LE910Cx compositions 0x1203, 0x1230, 0x1231 and FN980 composition 0x1055 Removed references to deprecated ModemManager and NetworkManager documents Removed references to deprecated life |
| 8 | 2020-09-01 | Added LE910C1-EUX support and updated kernel patches list Added LM960 0x1040 qmi_wwan RX urb size note |
| 7 | 2020-03-27 | Changed ME910G1 to MEx10G1 in the applicability table Added ML865C1 and ML865G1 to the applicability table Updated kernel patches list for composition 0x110b |
| 6 | 2020-01-13 | Added ME910G1 0x110a composition Added FN980 0x9010 flashing device composition Updated kernel patches list Updated applicability table |
| 5 | 2019-10-21 | Added FN980 in the applicability table and related kernel commits |
| 4 | 2019-05-24 | Removed automotive modules from the applicability table Added LN940 and UE866 in the applicability table Added LM940 kernel commit for fixing big data packets issue Added ME910 composition 0x1102, LECx910 compositions 0x1260 and 0x1261 Updated kernel patches list |
| 3 | 2018-05-07 | Added LE866 flashing device details Added kernel commit for PID 0x0036 Added LE910D1 in the applicability table |
| 2 | 2018-02-13 | Added LM960 in the applicability table Added ME910 composition 0x1101 Added “Additional Kernel Commits” chapter Added “Minimum Kernel Version” in the applicability table |
| 1 | 2017-11-24 | Added LE920A4 and LE910C1 composition 0x1201 Added LM940 in the applicability table Added reference to committing CDC-WDM: fix “out-of-sync” due to missing notifications |
| 0 | 2017-04-28 | First issue |
Connect to our site and contact our technical support team for any questions www.telit.com
Telit reserves all rights to this document and the information contained herein. Products, names, logos, and designs described herein may in whole or in part be subject to intellectual property rights. The information contained herein is provided “as is”. No warranty of any kind, either express or implied, is made in relation to the accuracy, reliability, fitness for a particular purpose or content of this document. This document may be revised by Telit at any time. For the most recent documents, please visit www.telit.com
Copyright © 2021, Telit
1VV0301371 Rev. 14 – 2022-03-02
Documents / Resources
![]() |
Telit Modules Linux USB Drivers Software [pdf] User Guide Modules Linux USB Drivers Software, Linux USB Drivers Software, Drivers Software |




