Telit FN990 ModemManager bugfixes

A set of Telit FN990 ModemManager bugfixes recently landed in the main branch, with MR!959. Let’s see what is now available..

FN990 ModemManager

Telit FN990 ModemManager USB port hints

The first commit adds port hints for the two main FN990 USB compositions:

0x1070: tty (diag) + adb + rmnet + tty (gnss) + tty (at) + tty (at) + tty (aux)
0x1071: tty (diag) + adb + MBIM + tty (gnss) + tty (at) + tty (at) + tty (aux)

Linux kernel support for these compositions is available since version 5.16.

Additional bugfixes

The remaining commits are mainly bugfixes and are not focused just on USB-based integrations.

Commit “telit: add shared support for 5G modes” adds support for the missing 5G-related +WS46 values, useful also for FN980.

Commit “telit: increase initial delay for AT ports” increase the number of seconds for which the AT ports of the modem are polled for responsiveness, something that seems to be always growing in the evolution of the SDX platform.

The last commit “telit: fallback to AT commands in case of MBIM loading revision failure” addresses a firmware issue present in specific releases. Basically, the problem is related ti the MBIM device caps reply not having the firmware version information. Since this is used for properly decoding the response of the #BND command, it is better to retrieve this information with AT commands when not available with the MBIM command.

Besides this MR, two additional commits are mandatory for avoiding some other issues that can be experienced when using ModemManager with the FN990.

The first one is in MR!953, fixing a double free when the “Operator Reserved PCO” TLV is present in “”Get Current Settings” QMI reply.

The last one is libmbim MR!171 for managing 0-length strings as type MBIM_TLV_TYPE_WCHAR_STR, needed to avoid a segmentation fault in ModemManager when a MBIM reply have such those strings.

Lastly I would like to remind that Telit FN990 Modemanager support is available also through PCIe.