Contents hide

Modules Linux USB Drivers Software

Telit Modules Linux USB Drivers
Software User Guide

1VV0301371 Rev.18
2024-09-09
Released
Confidential

Technical Documentation       

 Telit Modules Linux USB Drivers Software  User Guide 

1VV0301371 Rev.18 Page 2 of 28 2024-09-09  

1 Applicability Table

Warning: The kernel version information is related to the default composition of the modem: for detailed information on the  kernel version in which a composition is supported please refer to chapter Telit Kernel Commits.

The Products list indicates the generic modem families and does not include variants:  please refer to the list of compositions in section PIDs and Related Compositions to check support for a modem.

Table 1: Applicability Table

Products AVAILABLE SINCE THE KERNEL VERSION

DE910 SERIES

3.4

ELS63 SERIES

5.4

FD980 SERIES

5.14

FE912C04 SERIES

6.10

FN920C04 SERIES

6.9

FE990 SERIES

6.3

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 Linux-based SERIES

4.11

LE910Cx Thread-x SERIES

5.8

LE910D1 SERIES

2.6.39

LE910Q1 SERIES

5.4

LE910R1 SERIES

5.17

LE910S1 SERIES

5.13

LE910 V2 SERIES

3.12

LM940 SERIES

4.10

LM960 SERIES

4.10

LN920 SERIES

5.15

LN940 SERIES

4.20

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

 Telit Modules Linux USB Drivers Software  User Guide 

2 Introduction

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

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

2.3 Contact Information, Support

For technical support and general questions, e-mail:

  • TS-EMEA@telit.com
  • TS-AMERICAS@telit.com
  • TS-APAC@telit.com
  • TS-SRD@telit.com
  • TS-ONEEDGE@telit.com

Alternatively, use: https://www.telit.com/contact-us/ 

For Product information and technical documents, visit: https://www.telit.com

2.4 Conventions

Note: Provide advice and suggestions that may be useful when integrating the module.

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.

All dates are in ISO 8601 format, that is YYYY-MM-DD.

1VV0301371 Rev.18 Page 4 of 28 2024-09-09 

 Telit Modules Linux USB Drivers Software  User Guide 

2.5 Terms and Conditions

Refer to https://www.telit.com/hardware-terms-conditions/.

2.6 Disclaimer

THE MATERIAL IN THIS DOCUMENT IS FOR INFORMATIONAL PURPOSES ONLY. TELIT  CINTERION RESERVES THE RIGHT TO MAKE CHANGES TO THE PRODUCTS DESCRIBED  HEREIN. THE SPECIFICATIONS IN THIS DOCUMENT ARE SUBJECT TO CHANGE AT THE  DISCRETION OF TELIT CINTERION WITHOUT PRIOR NOTICE. THIS DOCUMENT IS  PROVIDED ON “AS IS” BASIS ONLY AND MAY CONTAIN DEFICIENCIES OR INADEQUACIES.  TELIT CINTERION DOES NOT ASSUME ANY LIABILITY FOR INFORMATION PROVIDED IN  THE DOCUMENT OR ARISING OUT OF THE APPLICATION OR USE OF ANY PRODUCT  DESCRIBED HEREIN.

TELIT CINTERION GRANTS A NON-EXCLUSIVE RIGHT TO USE THE DOCUMENT. THE  RECIPIENT SHALL NOT COPY, MODIFY, DISCLOSE, OR REPRODUCE THE DOCUMENT  EXCEPT AS SPECIFICALLY AUTHORIZED BY TELIT CINTERION.

TELIT CINTERION AND THE TELIT CINTERION LOGO, ARE TRADEMARKS OF TELIT  CINTERION AND ARE REGISTERED IN CERTAIN COUNTRIES. ALL OTHER REGISTERED  TRADEMARKS OR TRADEMARKS MENTIONED IN THIS DOCUMENT ARE THE PROPERTY OF  THEIR RESPECTIVE OWNERS AND ARE EXPRESSLY RESERVED BY TELIT CINTERION (AND  ITS LICENSORS).

1VV0301371 Rev.18 Page 5 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

3 Operating System Setup

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:

Table 2: Device Types and Related Kernel Modules

Device Type Kernel Module

Serial port following the CDC-ACM standard

cdc_acm (CONFIG_USB_ACM)

Serial port (reduced ACM)

option (CONFIG_USB_SERIAL_OPTION)

Network adapter following the CDC-ECM standard

cdc_ether (CONFIG_USB_NET_CDCETHER)

Network adapter following the CDC-NCM standard

cdc_ncm (CONFIG_USB_NET_CDC_NCM)

Network adapter following Microsoft RNDIS  specification

rndis_host (CONFIG_USB_NET_RNDIS_HOST)

Mobile broadband adapter following CDC-MBIM  standard

cdc_mbim (CONFIG_USB_NET_CDC_MBIM)

Rmnet mobile broadband adapter

qmi_wwan (CONFIG_USB_NET_QMI_WWAN)

Android Debug Bridge (ADB)

N/A (managed at the userspace level)

Audio device

snd-usb-audio (CONFIG_SND_USB_AUDIO)

To use a specific device type, the related module should be included in the kernel build.

Warning: Certain kernel modules may only be accessible from a  particular kernel version onwards for example, cdc_mbim is available from 3.8. If the kernel version in use does not support the required driver, consider upgrading the kernel or backporting the needed patches. A simple way to understand if  a specific commit (or a set of commit) is available in stable kernels and in which version has been introduced is described in chapter Linux Version Finder

3.1 USB Compositions
3.1.1 PIDs and Related Compositions

The following table lists the currently supported USB compositions in Linux according to  the PID:

Note: a composition could have hidden devices. The description in the  following table reports all the devices available in the composition, also the hidden ones.

1VV0301371 Rev.18 Page 6 of 28 2024-09-09  

Table 3: PIDs and Related Compositions

 Telit Modules Linux USB Drivers Software  User Guide

PID Composition

0x0021

6 CDC-ACM devices

0x0022

3 CDC-ACM devices

0x0023

6 CDC-ACM devices + 1 CDC-ECM network adapter

0x0032

6 CDC-ACM devices + 1 MBIM adapter

0x0035

6 CDC-ACM devices

0x0036

6 CDC-ACM devices + 1 CDC-NCM network adapter

0x0100

4 CDC-ACM devices + 1 CDC-NCM network adapter

0x1003

3 reduced ACM devices

0x1004

4 reduced ACM devices

0x1005

4 reduced ACM devices

0x1006

3 reduced ACM devices

0x1010

4 reduced ACM devices

0x1012

3 reduced ACM devices

0x1031

3 reduced ACM devices + 1 rmnet adapter

0x1033

3 reduced ACM devices + 1 ECM network adapter

0x1035

2 reduced ACM devices + 1 ECM network adapter

0x1040

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1041

5 reduced ACM devices + 1 MBIM adapter + 1 ADB

0x1042

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB

0x1043

5 reduced ACM devices + 1 ECM network adapter + 1 ADB

0x1045

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB + 1 audio device

0x1050

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1051

5 reduced ACM devices + 1 MBIM adapter + 1 ADB

0x1052

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB

0x1053

5 reduced ACM devices + 1 ECM network adapter + 1 ADB

0x1055

5 reduced ACM devices + 1 ADB

0x1056

Configuration #1: Mass storage device

Configuration #2: 5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB

0x1057

6 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1058

6 reduced ACM devices + 1 ADB

0x1060

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1061

5 reduced ACM devices + 1 MBIM adapter + 1 ADB

0x1062

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB

0x1063

5 reduced ACM devices + 1 ECM network adapter + 1 ADB

0x1070

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

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

0x1075

1 reduced ACM device + 1 ADB

0x1080

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1081

5 reduced ACM devices + 1 MBIM adapter + 1 ADB

0x1082

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB

0x1083

5 reduced ACM devices + 1 ECM network adapter + 1 ADB

0x1085

1 reduced ACM device + 1 ADB

0x10a0

3 reduced ACM devices + 1 rmnet adapter

0x10a4

3 reduced ACM devices + 1 rmnet adapter

0x10a9

2 reduced ACM devices + 1 rmnet adapter + 1 ADPL + 1 ADB

1VV0301371 Rev.18 Page 7 of 28 2024-09-09  

Telit Modules Linux USB Drivers Software  

User Guide

0x110b

3 reduced ACM devices + 1 ECM network adapter

0x1200

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1201

5 reduced ACM devices + 1 rmnet 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 rmnet adapter + 1 ADB + 1 audio device

0x1231

5 reduced ACM devices + 1 RNDIS network adapter + 1 ADB + 1 audio device

0x1250

4 reduced ACM devices + 1 rmnet adapter

0x1260

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1261

5 reduced ACM devices + 1 rmnet adapter + 1 ADB

0x1900

4 reduced ACM devices + 1 rmnet 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

0x3000

3 reduced ACM devices + 1 rmnet adapter

0x3001

2 reduced ACM devices + 1 rmnet adapter + 1 ADPL + 1 ADB

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

0x7020

3 reduced ACM devices + 1 RNDIS network adapter

0x7021

3 reduced ACM devices + 1 ECM network adapter

For additional details on the composition, please refer to the software user guide of the  module in use.

The command: $ lsusb can be used to display a list of USB devices that are currently connected to the host.  

Warning: Refer to the modem user guide to understand how to change  the USB composition and to identify the scope of the exposed devices.

1VV0301371 Rev.18 Page 8 of 28 2024-09-09  

Telit Modules Linux USB Drivers Software  User Guide

3.2 Multi-configuration Compositions

Certain compositions show multiple configurations (for example, 0x1056). By default, the  system will employ the first configuration. 

To change the configuration, the desired value must be written to the file: /sys/bus/usb/devices/<device path>/bConfigurationValue 

For Example, # echo <configuration value> > /sys/bus/usb/devices/<device  path>/bConfigurationValue 

Tool usb_modeswitch can also be used to change the configuration, for example: # usb_modeswitch -v 0x1bc7 -p <pid> -u <configuration value> 

3.2.1 Kernel Module Option

When using a supported composition requiring the option kernel module and the serial  ports are not available in /dev directory, it is possible that the particular composition has  been integrated into a newer kernel version than the one that is currently in use. The solution is to upgrade the kernel version or backport the needed patches among the  ones listed in Telit Kernel Commits.

It is possible to add runtime support for the current composition by issuing the following  commands with root privileges:

# modprobe option
# echo 1bc7 <PID> > /sys/bus/usb-serial/drivers/option1/new_id where <PID> is the PID of the composition to be supported.

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

Note: If support for a composition missing in section PIDs and Related  Compositions is needed, contact customer support with the request.

1VV0301371 Rev.18 Page 9 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

3.2.2 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 Telit Kernel Commits

Warning: If the kernel in use has 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.

Note: If support for a composition missing in section PIDs and Related  Compositions is needed, contact customer support with the request.

Warning: 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, for example, 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.

1VV0301371 Rev.18 Page 10 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

3.2.2.1 qmi_wwan and Internal 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 sysfs files add_mux/del_mux:  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 section QMAP Support in  qmi_wwan to get a stable version.

The master netdevice should have its MTU at least as the maximum downlink aggregated  size.

For further details on qmi_wwan internal QMA, refer to “Enabling QMAP in Linux  Application Note”.

3.2.2.2 qmi_wwan and rmnet

Starting with kernel version 5.12, the qmi_wwan supports kernel module rmnet for using  QMAP (see commit net: qmi_wwan: Add pass-through mode). Kernel side QMAP  management is done through qmi_wwan sysfs files pass_through.

For more information, refer to kernel documentations.

QMAP enablement requires also a special modem configuration executed at the  userspace level: the procedure to follow depends on the used tools.

The qmi_wwan netdevice should have its MTU at least as the maximum downlink  aggregated size.

For more information on rmnet QMAP, refer to “Enabling QMAP in Linux Application  Note”.

Warning: the kernel module rmnet should be used instead of the qmi_wwan inbox QMAP.

1VV0301371 Rev.18 Page 11 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

4 Using the Modem
4.1 Using the Serial Ports

According to the driver in use, the following devices are created for serial ports:

Table 4: Device Names and Related Kernel Modules

Device Type Kernel Module

/dev/ttyACMx

cdc_acm

/dev/ttyUSBx

option

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. For example, C-based applications can use the exported functions in the system header files fcntl.h and unistd.h.  

For more information, refer to the related man page.

Warning: When sending AT commands, it is mandatory to have the DTR  asserted to get the response.

4.1.1 Data Connection through Serial Ports

To create dial-up connections through serial ports the software pppd can be used. For more information and updated source code, refer to the pppd official website .

4.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 (for example ip, ifconfig) can be used to manage the network  interface.

For more information, refer to the man page of the command.

1VV0301371 Rev.18 Page 12 of 28 2024-09-09  

Telit Modules Linux USB Drivers Software  User Guide

4.2.1 Data Connection through the Network Interface 

To establish a data connection via the network interface, please follow the instructions  listed in the table below, which are specific to the kernel module being used:

Table 5: Kernel Module In Use for the Network Device and Related Data Connection Procedure

Kernel Module Procedure

qmi_wwan

The libqmi project can be used.  

For more information, refer to the project documentation.

Telit provides also a proprietary QMI SDK, for more information refer to QMI  SDK and TQCM User Guide.

cdc_mbim

The libqmi project can be used.  

For more information, refer to the project documentation.

cdc_ether

AT commands should be used.

For more information, refer to the modem documentation.

cdc_ncm

AT commands should be used.

For more information, refer to the modem documentation.

rndis_host

AT commands should be used.

For more information, refer to the modem documentation.

4.3 Using the Modem with Modem Manager and Network  Manager

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 such as  freedesktop.org libqmi for QMI-based modems, and libmbim for MBIM-based modems. ModemManager can be used with NetworkManager for easier network connection 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 (including creation, activation, and deactivation). NetworkManager uses ModemManager to support mobile broadband devices.

1VV0301371 Rev.18 Page 13 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

5 Flashing Devices

The modems listed in the following table support firmware updates through special  flashing devices that may require binding to a kernel module:

Table 6: Flashing Devices

Product VID:PID Kernel Module Device Name

FD980, FE990, 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

LE910Q1, ELS63

0x1bc7:0x920A

cdc_acm

/dev/ttyACMx

LE910S1

0x1bc7:0x9200

option

/dev/ttyUSBx

LE910R1

0x1bc7:0x9201

option

/dev/ttyUSBx

FE912C04, FN920C04,  

ME910G1

0x05c6:0x9008

qcserial

/dev/ttyUSBx

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. However, if the flashing application is not running, the flashing device disconnects, and the modem continues in  normal operative mode.

For flashing device support in kernel versions, refer to Flashing Devices.

5.1 Flashing Device 0x18d1:0xd00d

The Flashing device 0x18d1:0xd00d is managed at the userspace level by the Telit  firmware update application known as “uxfp”. For more information, refer to uxfp User  Guide.

Legacy Telit firmware update application lxfp 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 section Multi-configuration

Compositions can be used:
$ modprobe option
$ echo 18d1 d00d > /sys/bus/usb-serial/drivers/option1/new_id 5.2 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 USB: cdc_acm Ignore Infineon Flash Loader  utility and USB: serial: Another Infineon Flash loader USB ID.

1VV0301371 Rev.18 Page 14 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

5.3 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 commit USB: serial: move the “simple” drivers into usb serial-simple.c.

5.4 Flashing Device 0x05c6:0x9008

Support for flashing device 0x05c6:0x9008 is available since kernel version 2.6.30 with  driver qcserial.

Previous kernel versions require commit USB: qcserial: Add extra device IDs.

1VV0301371 Rev.18 Page 15 of 28 2024-09-09  

6 Telit Kernel Commits

 Telit Modules Linux USB Drivers Software  User Guide

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 unavailable in  the used kernel version.

Table 7: Kernel Commits Related to Telit Modules

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

7204cf584836c24b4b06e4ad4a8e6bb8ea84 908e

v3.4-rc1

usb: option driver,  add support for Telit  UE910v2

0x1bc7:0x1012

d6de486bc22255779bd54b0fceb4c240962b f146

v3.15-rc2

USB: option: add  support for Telit  

LE920

0x1bc7:0x1200

03eb466f276ceef9dcf023dc5474db02af68a ad9

v3.8-rc7

NET: qmi_wwan: add  Telit LE920 support

0x1bc7:0x1200

3d6d7ab5881b1d4431529410b949ba2e946 f3b0f

v3.8-rc7

net: qmi_wwan: add  Telit LE920 newer  firmware support

0x1bc7:0x1201

905468fa4d54c3e572ed3045cd47cce37780 716e

v3.13-rc1

usb: option: add  

support for Telit  

LE910

0x1bc7:0x1201

2d0eb862dd477c3c4f32b201254ca0b40e6f 465c

v3.18-rc3

USB: cdc_acm: Ignore  Infineon Flash Loader  utility

0x058b:0x0041

f33a7f72e5fc033daccbb8d4753d7c5c41a4d 67b

v4.4-rc5

USB: serial: Another  Infineon flash loader  USB ID

0x058b:0x0041

a0e80fbd56b4573de997c9a088a33abbc112 1400

v4.4-rc5

USB: serial: option:  Adding support for  Telit LE922

0x1bc7:0x1042

0x1bc7:0x1043

ff4e2494dc17b173468e1713fdf6237fd8578 bc7

v4.5-rc2

USB: serial: option:  add support for Telit  LE922 PID 0x1045

0x1bc7:0x1045

5deef5551c77e488922cc4bf4bc76df63be65 0d0

v4.5-rc7

net: usb: cdc_ncm:  adding Telit LE910 V2  mobile broadband  card

0x1bc7:0x0036

79f4223257bfef52b0a26d0d7ad4019e764b e6ce

v4.6-rc2

USB: serial: option:  add support for Telit  LE910 PID 0x1206

0x1bc7:0x1206

3c0415fa08548e3bc63ef741762664497ab1 87ed

v4.8-rc1

USB: serial: option:  add support for Telit  LE920A4

0x1bc7:0x1207

0x1bc7:0x1208

0x1bc7:0x1211

0x1bc7:0x1212

01d7956b58e644ea0d2e8d9340c5727a8fc3 9d70

v4.8-rc3

1VV0301371 Rev.18 Page 16 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  

User Guide

0x1bc7:0x1213

0x1bc7:0x1214

NET: usb: qmi_wwan:  add support for Telit  LE922A PID 0x1040

0x1bc7:0x1040

9bd813da24cd49d749911d7fdc0e9ae9a673 d746

v4.9-rc8

NET: usb: cdc_mbim:  add quirk for  

supporting Telit  

LE922A

0x1bc7:0x1041

7b8076ce8a00d553ae9d3b7eb5f0cc3e63cb 16f1

v4.9

USB: serial: option:  add support for Telit  LE922A PIDs 0x1040,  0x1041

0x1bc7:0x1040

0x1bc7:0x1041

5b09eff0c379002527ad72ea5ea38f25da8a8 650

v4.10-rc1

drivers: net: usb:  

qmi_wwan: add  

QMI_QUIRK_SET_DTR  for Telit PID 0x1201

0x1bc7:0x1201

14cf4a771b3098e431d2677e3533bdd962e4 78d8

v4.11-rc7

net: usb: qmi_wwan:  add Telit ME910  

support

0x1bc7:0x1100

4c54dc0277d0d55a9248c43aebd31858f926 a056

v4.12-rc1

usb: serial: option:  add Telit ME910  

support

0x1bc7:0x1100

40dd46048c155b8f0683f468c950a1c107f77 a7c

v4.12-rc1

net: usb: qmi_wwan:  add Telit ME910 PID  0x1101 support

0x1bc7:0x1101

c647c0d62c82eb3ddf78a0d8b3d58819d9f5 52aa

v4.15-rc4

USB: serial: option:  add support for Telit  ME910 PID 0x1101

0x1bc7:0x1101

08933099e6404f588f81c2050bfec7313e06e eaf

v4.15-rc6

net: usb: cdc_mbim:  add flag  

FLAG_SEND_ZLP

0x1bc7:0x1041

9f7c728332e8966084242fcd951aa46583bc 308c

v4.17

USB: serial: option:  add Telit LN940 series

0x1bc7:0x1900

0x1bc7:0x1901

28a86092b1753b802ef7e3de8a4c4a69a9c1 bb03

v4.20

qmi_wwan: Added  support for Telit  

LN940 series

0x1bc7:0x1900

1986af16e8ed355822600c24b3d2f0be46b5 73df

v4.20

usb: cdc-acm: send  ZLP for Telit 3G Intel  based modems

0x1bc7:0x0021

0x1bc7:0x0023

34aabf918717dd14e05051896aaecd3b16b5 3d95

v5.0-rc2

USB: serial: option:  add Telit ME910 ECM  composition

0x1bc7:0x1102

6431866b6707d27151be381252d6eef1302 5cfce

v5.1-rc1

net: usb: qmi_wwan:  add Telit 0x1260 and  0x1261 compositions

0x1bc7:0x1260

0x1bc7:0x1261

b4e467c82f8c12af78b6f6fa5730cb7dea7af1 b4

v5.2-rc2

USB: serial: option:  add Telit 0x1260 and  0x1261 compositions

0x1bc7:0x1260

0x1bc7:0x1261

f3dfd4072c3ee6e287f501a18b5718b185d6a 940

v5.2-rc5

USB: serial: option:  add Telit FN980  

compositions

0x1bc7:0x1050

0x1bc7:0x1051

0x1bc7:0x1052

5eb3f4b87a0e7e949c976f32f296176a06d1a 93b

v5.4-rc3

1VV0301371 Rev.18 Page 17 of 28 2024-09-09 

Telit Modules Linux USB Drivers Software  

User Guide

0x1bc7:0x1053

net: usb: qmi_wwan:  add Telit 0x1050  

composition

0x1bc7:0x1050

e0ae2c578d3909e60e9448207f5d83f785f11 29f

v5.4-rc4

USB: serial: option:  add Telit ME910G1  0x110a composition

0x1bc7:0x110a

0d3010fa442429f8780976758719af05592ff 19f

v5.5-rc6

USB: serial: option:  add ZLP support for  0x1bc7/0x9010

0x1bc7:0x9010

2438c3a19dec5e98905fd3ffcc2f24716aceda 6b

v5.5-rc6

USB: serial: option:  add ME910G1 ECM  composition 0x110b

0x1bc7:0x110b

8e852a7953be2a6ee371449f7257fe15ace6a 1fc

v5.6-rc7

net: usb: qmi_wwan:  add Telit LE910C1- EUX composition

0x1bc7:0x1031

591612aa578cd7148b7b9d74869ef4011897 8389

v5.7

USB: serial: option:  add Telit LE910C1- EUX compositions

0x1bc7:0x1031

0x1bc7:0x1033

399ad9477c523f721f8e51d4f824bdf7267f1 20c

v5.8-rc1

USB: serial: option:  add LE910Cx  

compositions 0x1203, 0x1230, 0x1231

0x1bc7:0x1203

0x1bc7:0x1230

0x1bc7:0x1231

489979b4aab490b6b917c11dc02d81b4b74 2784a

v5.10-rc3

net: usb: qmi_wwan:  add Telit LE910Cx  0x1230 composition

0x1bc7:0x1230

5fd8477ed8ca77e64b93d44a6dae4aa70c19 1396

v5.10-rc3

USB: serial: option:  add Telit FN980  

composition 0x1055

0x1bc7:0x1055

db0362eeb22992502764e825c79b922d746 7e0eb

v5.10-rc3

usb: serial: option:  add Telit LE910-S1  compositions 0x7010, 0x7011

0x1bc7:0x7010

0x1bc7:0x7011

e467714f822b5d167a7fb03d34af91b5b6af1 827

v5.13-rc4

usb: serial: option:  add Telit FD980  

composition 0x1056

0x1bc7:0x1056

5648c073c33d33a0a19d0cb1194a4eb88efe 2b71

v5.14-rc5

net: usb: cdc_mbim:  avoid altsetting  

toggling for Telit  

LN920

0x1bc7:0x1061

aabbdc67f3485b5db27ab4eba01e5fbf1ffea6 2c

v5.15-rc1

net: usb: qmi_wwan:  add Telit 0x1060  

composition

0x1bc7:0x1060

8d17a33b076d24aa4861f336a125c888fb91 8605

v5.15-rc1

USB: serial: option:  add Telit LN920  

compositions

0x1bc7:0x1060

0x1bc7:0x1061

0x1bc7:0x1062

0x1bc7:0x1063

7bb057134d609b9c038a00b6876cf0d37d01 18ce

v5.15-rc3

USB: serial: option:  add Telit LE910Cx  composition 0x1204

0x1bc7:0x1204

f5a8a07edafed8bede17a95ef8940fe3a57a7 7d5

v5.15-rc6

USB: serial: option:  add Telit LE910S1  0x9200 composition

0x1bc7:0x9200

e353f3e88720300c3d72f49a4bea54f42db1f a5e

v5.16-rc3

1VV0301371 Rev.18 Page 18 of 28 2024-09-09 

Telit Modules Linux USB Drivers Software  

User Guide

USB: serial: option:  add Telit FN990  

compositions

0x1bc7:0x1070

0x1bc7:0x1071

0x1bc7:0x1072

0x1bc7:0x1073

2b503c8598d1b232e7fc7526bce9326d9233 1541

v5.16-rc6

net: usb: qmi_wwan:  add Telit 0x1070  

composition

0x1bc7:0x1070

94f2a444f28a649926c410eb9a38afb13a83e be0

v5.16-rc6

net: usb: cdc_mbim:  avoid altsetting  

toggling for Telit  

FN990

0x1bc7:0x1071

21e8a96377e6b6debae42164605bf9dcbe57 20c5

v5.17-rc5

USB: serial: option:  add Telit LE910R1  compositions

0x1bc7:0x701a

0x1bc7:0x701b

0x1bc7:0x9201

cfc4442c642d568014474b6718ccf65dc7ca6 099

v5.17-rc6

USB: serial: option:  add Telit 0x1057,  0x1058, 0x1075  

compositions

0x1bc7:0x1057

0x1bc7:0x1058

0x1bc7:0x1075

f32c5a0423400e01f4d7c607949fa3a1f006e 8fa

v5.18-rc5

net: usb: qmi_wwan:  add Telit 0x1057  

composition

0x1bc7:0x1057

f01598090048f5f732ea7aa64b2f194131ce6 0d2

v5.19-rc1

net: usb: qmi_wwan:  add Telit 0x1250  

composition

0x1bc7:0x1250

2c262b21de6dc93ac4d8c7a4cea0da4226b4 51fb

v5.19-rc1

USB: serial: option:  add Telit LE910Cx  0x1250 composition

0x1bc7:0x1250

342fc0c3b345525da21112bd0478a0dc7415 98ea

v5.19-rc4

USB: serial: option:  add Telit FE990  

compositions

0x1bc7:0x1080

0x1bc7:0x1081

0x1bc7:0x1082

0x1bc7:0x1083

773e8e7d07b753474b2ccd605ff092faaa9e6 5b9

V6.3-rc6

net: usb: qmi_wwan:  add Telit 0x1080  

composition

0x1bc7:0x1081

382e363d5bed0cec5807b35761d14e55955 eee63

V6.3-rc2

net: usb: cdc_mbim:  avoid altsetting  

toggling for Telit  

FE990

0x1bc7:0x1081

418383e6ed6b4624a54ec05c535f13d184fbf 33b

V6.3-rc2

USB: serial: option:  add Telit LE910C4- WWX 0x1035  

composition

0x1bc7:0x1035

6a7be48e9bd18d309ba25c223a27790ad1bf 0fa3

v6.6-rc7

USB: serial: option:  add Telit FN920C04  rmnet compositions

0x1bc7:0x10a0

0x1bc7:0x10a4

0x1bc7:0x10a9

582ee2f9d268d302595db3e36b985e5cbb9 3284d

V6.9-rc5

1VV0301371 Rev.18 Page 19 of 28 2024-09-09 

 Telit Modules Linux USB Drivers Software  

User Guide

net: usb: qmi_wwan:  add Telit FN920C04  compositions

0x1bc7:0x10a0

0x1bc7:0x10a4

0x1bc7:0x10a9

0b8fe5bd73249dc20be2e88a12041f892079 7b59

V6.9-rc6

net: usb: qmi_wwan:  add Telit FN912 

compositions

0x1bc7:0x3000

0x1bc7:0x3001

77453e2b015b5ced5b3f45364dd5a72dfc3b decb

v6.10-rc6

USB: serial: option:  add Telit FN912 

rmnet compositions

0x1bc7:0x3000

0x1bc7:0x3001

9a590ff283421b71560deded2110dbdcbe1f 7d1d

v6.10

USB: serial: option:  add Telit generic  

core-dump  

composition

0x1bc7:0x9000

4298e400dbdbf259549d69c349e060652ad 53611

v6.10

1VV0301371 Rev.18 Page 20 of 28 2024-09-09 

Telit Modules Linux USB Drivers Software  User Guide

7 Additional Kernel Commits
7.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.

Table 8: qmi_wwan Relevant Kernel Commits

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

7.2 QMAP Support in qmi_wwan

Below is a list of commits for adding QMAP support to qmi_wwan.

Table 9: qmi_wwan QMAP Relevant Kernel Commits

Summary

Commit

Availability

net: usb: qmi_wwan: add qmap mux  protocol support

c6adf77953bcec0ad63d7782479452464e50f7a3

v4.12-rc1

qmi_wwan: fix NULL deref on disconnect

bbae08e592706dc32e5c7c97827b13c1c178668b

v4.13-rc5

qmi_wwan: Fix qmap header retrieval in  qmimux_rx_fixup

d667044f49513d55fcfefe4fa8f8d96091782901

v4.20

qmi_wwan: add MTU default to qmap  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 qmap id sysfs file for qmimux interfaces

e594ad980ec26fb7351d02c84abaa77ecdb4e522

v5.12-rc1-

dontuse

net: usb: qmi_wwan: allow qmimux  add/del with master up

6c59cff38e66584ae3ac6c2f0cbd8d039c710ba7

v5.12-rc3

1VV0301371 Rev.18 Page 21 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  User Guide 

8 Linux Version Finder

Linux Version Finder is a Python tool for finding Linux kernel versions in which a commit  (or a set of commits) is available, searching the Linux kernel stable tree. The tool can be  used in conjunction with the commits listed in Flashing Devices to identify the stable  versions in which a composition is supported.

Linux Version Finder is available at Telit Github Organization: check the README.md file  for instructions about usage.

1VV0301371 Rev.18 Page 22 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  

User Guide

9 Acronyms and Abbreviations

Table 10: Acronyms and Abbreviations

Acronym Definition

ACM

Abstract Control Model

ADB

Android Debug Bridge

CDC

Communications Class Device

ECM

Ethernet Control Model

MBIM

Mobile Broadband Interface Model

NCM

Network Control Model

PPP

Point-to-Point Protocol

QMAP

Qualcomm Multiplexing and Aggregation Protocol

USB

Universal Serial Bus

1VV0301371 Rev.18 Page 23 of 28 2024-09-09  

10 Related Documents

 Telit Modules Linux USB Drivers Software  User Guide

Refer to https://dz.telit.com/ for current documentation and downloads.

Table 11: Acronyms and Abbreviations

Doc Code Document Title

1VV0301643

Telit QMI SDK and TQCM User Guide

1VV0301613

uxfp Software User Guide

80455NT12007A

Enabling QMAP in Linux Application Note

N/A

AT Commands Reference Guide of Telit modules is listed in the applicability table.

1VV0301371 Rev.18 Page 24 of 28 2024-09-09  

11 Document History Table 12: Document History

 Telit Modules Linux USB Drivers Software  User Guide

Revision Date Changes

18

2024-07-15

Added FE912C04 to the applicability table.

Added FE912C04 compositions 0x3000, 0x3001.

Added FN920C04 to the applicability table.

Added FN920C04 compositions 0x10a0, 0x10a4, 0x10a9. Added LE910Cx Thread-x-based composition 0x1035.

Added LE910Q1 and ELS63 to the applicability table.

Added LE910Q1/ELS63 compositions 0x7020, 0x7021.

Added LE910Q1/ELS63 PID 0x920A to firmware update compositions. Added generic core-dump patch to patches list.

17

2023-05-15

Added FE990 compositions 0x1080, 0x1081, 0x1082, 0x1083 Added config symbols in section 2.1

Added reference to QMAP document 80455NT12007A

Update template

16

2022-09-12

Added LE910Cx Linux-based composition 0x1250

Added Linux Version Finder chapter

Updated Table 6 (flashing devices) with ME910G1 device and added  related paragraph

15

2022-05-27

Added FN980 compositions 0x1057, 0x1058

Added FN990 composition 0x1075

Added rmnet kernel module paragraph

Modified applicability table for LE910Cx families

Added applicability table disclaimer

14

2022-03-02

Added LE910R1 in 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

1VV0301371 Rev.18 Page 25 of 28 2024-09-09  

 Telit Modules Linux USB Drivers Software  

User Guide

Added FN990 compositions 0x1070, 0x1071, 0x1072, 0x1073

12

2021-09-24

Added LN920 in applicability table and related kernel commits

11

2021-08-09

Added FD980 composition 0x1056

Added FD980 in applicability table

Added paragraph “Multi-configuration compositions”

10

2021-06-14

Changed document template and reworded some paragraphs Fixed FN980 kernel version availability in the applicability table Added LE910S1 to 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 Modem Manager and Network Manager documents

Removed references to deprecated lxfp

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 applicability table

Added ML865C1 and ML865G1 to 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 applicability table and related kernel commits

4

2019-05-24

Removed automotive modules from applicability table

Added LN940 and UE866 in applicability table

Added LM940 kernel commit for fixing big data packets issue

Added ME910 composition 0x1102, LECx910 compositions 0x1260 and  0x1261

1VV0301371 Rev.18 Page 26 of 28 2024-09-09 

 Telit Modules Linux USB Drivers Software  

User Guide

Updated kernel patches list

3

2018-05-07

Added LE866 flashing device details

Added kernel commit for PID 0x0036

Added LE910D1 in applicability table

2

2018-02-13

Added LM960 in applicability table

Added ME910 composition 0x1101

Added “Additional Kernel Commits” chapter

Added “Minimum Kernel Version” in applicability table

1

2017-11-24

Added LE920A4 and LE910C1 composition 0x1201

Added LM940 in applicability table

Added reference to commit cdc-wdm: fix “out-of-sync” due to missing  notifications

0

2017-04-28

First issue

From Mod.0817 Rev.10

1VV0301371 Rev.18 Page 27 of 28 2024-09-09  

© Telit Cinterion. All rights reserved.

Technical Documentation 

Documents / Resources

Telit Cinterion Modules Linux USB Drivers Software [pdf] User Guide
Modules Linux USB Drivers Software, Linux USB Drivers Software, USB Drivers Software, Drivers Software, Software

References

Leave a comment

Your email address will not be published. Required fields are marked *