Telit 5G Cards On Jetson Orin™ Enablement Application Note r2
Telit 5G Cards On Jetson Orin™ Enablement Application Note r2
Telit 5G Cards On Jetson Orin™ Enablement Application Note r2
Application Note
APPLICABILITY TABLE
PRODUCTS
FN980
FN980m
FN990
CONTENTS
APPLICABILITY TABLE 2
CONTENTS 3
1. INTRODUCTION 5
Scope 5
Audience 5
Contact Information, Support 5
Symbol Conventions 6
2. 5G CARDS AND JETSON ORIN PLATFORMS 7
Overview 7
Initial Prerequisites 7
Writing Conventions 7
3. CUSTOMIZING JETSON LINUX KERNEL 8
Customizing Jetson Linux 34.1.1 Kernel 8
3.1.1. Understanding the Need for Customizing the Kernel 8
3.1.2. Building the Kernel Modules 8
3.1.3. Copying the Kernel Modules to the Developer Kit 10
Customizing Jetson Linux 35.2.0 and later Kernel 11
4. USING 5G CARDS WITH MODEMMANAGER 12
What is ModemManager 12
Setting the MBIM Composition 12
Checking Modem Detection 13
Setting-up the Data Connection 16
5. UPGRADING MODEMMANAGER 19
Understanding the Need for Upgrading ModemManager 19
Upgrading from packages in Focal Developer Repositories 19
Building from freedesktop.org git Repositories 20
5.3.1. Uninstalling the Default Packages 20
5.3.2. Build Preconditions 20
5.3.3. Building libqrtr 20
5.3.4. Building libmbim 21
5.3.5. Building libqmi 21
5.3.6. Building ModemManager 22
6. TROUBLESHOOTING 23
Debug Information Retrieval 23
1. INTRODUCTION
Scope
This document describes the standard operating procedure to enable Telit 5G cards
belonging to the FN980 and FN990 series in the NVIDIA® Jetson Orin™ Developer Kit. The
features and solutions described in this document are applicable to all variants listed in
the applicability table.
Audience
This document is intended for developers using Telit 5G cards in the NVIDIA® Jetson
Orin™ Developer Kit.
Symbol Conventions
Overview
Telit modems belonging to the FN980 and FN990 series enable a new generation of 5G
state-of-the-art data cards featuring both sub-6 and mmWave technologies with LTE,
WCDMA and GNSS support. These data cards lay the foundation for businesses
worldwide to future-proof IoT, enterprise applications and video while leveraging all 5G’s
and Gigabit LTE’s benefits immediately.
NVIDIA® Jetson is the world's leading platform for AI at the edge. It combines high-
performance, low-power compute modules with the NVIDIA AI software stack. It’s the
ideal platform for advanced robotics and other autonomous products.
This Application Note explains the steps needed to enable Telit 5G cards on the NVIDIA®
Jetson Orin™ Developer Kit.
Initial Prerequisites
The following mandatory prerequisites must be fulfilled for successfully implementing
the contents of this Application Note:
• The Orin™ Developer Kit in use must be running at least Jetson Linux
34.1.1. If this prerequisite is not verified, please update the Developer Kit to
at least Jetson Linux 34.1.1 following the Jetson Linux Developer Guide.
• The USB composition for the modems should be the following:
o Telit FN980: 0x1051 (MBIM)
o Telit FN990: 0x1071 (MBIM)
In paragraph 4.2 it is explained how to set the correct USB composition in
case this prerequisite is not verified.
• The initial Orin™ Developer Kit setup requires Internet connection (e.g.
through WiFi or Ethernet).
Writing Conventions
In this Application Note the commands to be typed in a Linux terminal are written in
Courier New, with the following prefix meaning:
telit@JetsonOrin:~$ uname -r
5.10.65-tegra
The kernel modules needed to drive Telit 5G mobile broadband devices are not available
in the default Jetson Linux 34.1.1 kernel build: in the following paragraphs it is explained
how to build these kernel modules and how to copy them to the Developer Kit.
Kernel version 5.10.65 does not have support for FN990 in kernel
modules option and cdc_mbim.
To use the FN990, before building the kernel, the following commits
available in v5.10.104 should be back-ported:
• cd98cb5216a01f13296f759f790a1310c648d4c9, USB:
serial: option: add Telit FN990 compositions
• 00d5ac05af3a126e1fbd11a3309478b2b3b0296e, net:
usb: cdc_mbim: avoid altsetting toggling for
Telit FN990
Download Bootlin Toolchain gcc 9.3 and extract the package as explained in Jetson Linux
Toolchain page.
Download L4T Driver Package (BSP) having the kernel sources and extract them as
explained in the Kernel Customization page.
Once the kernel configuration menu shows, add the following module (<M>):
Device Drivers ---> Network device support ---> USB Network Adapters
<M> CDC MBIM support
In this Application Note it is supposed the kernel modules to be available in path <kernel
modules origin> accessible from the Developer Kit.
In the Developer Kit open a terminal and type:
On the kernel side everything is now ready for using the modem.
What is ModemManager
Freedesktop.org ModemManager is a DBus-activated daemon which 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).
telit@JetsonOrin:~$ mmcli -V
mmcli 1.16.6
Copyright (2011 - 2021) Aleksander Morgado
License GPLv2+: GNU GPL version 2 or later http://gnu.org/licenses/gpl-
2.0.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Though this version is no more actively developed, it can be used for managing Telit 5G
cards, noting that it has some limitations. Chapter 5 explains how to move to a more
recent ModemManager version: this step is warmly recommended since new features
and bugfixing are constantly added to the tool.
The following paragraphs just focus on the FN980, but the same steps can be used for
verifying the FN990 functioning.
Plug the modem to the Developer Kit through the USB-C cable and turn it on. Verify the
modem presence in the kernel log:
If the number highlighted in the line above is 1051, skip the following steps and move to
the next paragraph, otherwise install the serial terminal emulator minicom by typing:
AT#USBCFG=2
OPTIONS: I18n
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB2, 10:33:17
AT#USBCFG=2
OK
This command makes the modem to reboot. Wait until the new composition shows-up:
After a while (up to 120 seconds) the modem should be detected by ModemManager.
Verify its presence by typing:
telit@JetsonOrin:~$ mmcli -L
/org/freedesktop/ModemManager1/Modem/0 [Telit Wireless Solutions] FN980m
telit@JetsonOrin:~$ mmcli -m 0
----------------------------------
General | path: /org/freedesktop/ModemManager1/Modem/0
| device id: c7244bee3c978377afcf894ac0ddd30d1a0d3f71
----------------------------------
Hardware | manufacturer: Telit Wireless Solutions
| model: FN980m
| firmware revision: SDX55.LE.1.4.r1-00046-NBOOT.CP
| carrier config: default
| h/w revision: FN980m
| supported: cdma-evdo, gsm-umts, lte, 5gnr
| current: gsm-umts, lte
| equipment id: 350313450033520
----------------------------------
System | device:
/sys/devices/platform/3610000.xhci/usb1/1-1
| drivers: cdc_mbim, option
| plugin: telit
| primary port: cdc-wdm0
| ports: cdc-wdm0 (mbim), ttyUSB0 (ignored),
ttyUSB1 (ignored),
| ttyUSB2 (at), ttyUSB3 (at), ttyUSB4
(ignored), wwan0 (net)
----------------------------------
Status | unlock retries: sim-pin2 (3)
| state: registered
| power state: on
| access tech: lte
| signal quality: 19% (recent)
----------------------------------
Modes | supported: allowed: 3g; preferred: none
where the argument of the flag -m is the index of the modem found with the previous
command.
Modem availability should also be indicated in the Network menu of the GUI:
Follow the instructions according to the network operator in use. If everything is fine the
created data connection will be set as active:
If the data connection is not able to start please verify the modem
setup and the information provided (e.g. antenna, signal level, APN…)
5. UPGRADING MODEMMANAGER
telit@JetsonOrin:~/git/libqrtr-glib$ cd build/
telit@JetsonOrin:~/git/libqrtr-glib/build$ ninja
telit@JetsonOrin:~$ cd $HOME/git/
telit@JetsonOrin:~/git/libmbim$ cd build/
telit@JetsonOrin:~/git/libmbim/build$ ninja
telit@JetsonOrin:~$ cd $HOME/git/
telit@JetsonOrin:~/git/libqmi$ cd build/
telit@JetsonOrin:~/git/libqmi/build$ ninja
telit@JetsonOrin:~$ cd $HOME/git/
telit@JetsonOrin:~/git/ModemManager$ cd build/
telit@JetsonOrin:~/git/ModemManager/build$ ninja
6. TROUBLESHOOTING
To have better support and solve the issue quickly, please follow
these guidelines when collecting logs:
• Do not mix different issues in a single log
• Do not mix different runs of the same issue
• If the log is huge, provide an indication on the timing of the
issue
• Provide a brief description of scenario captured in the logs
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
information do 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.
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.4. Trademarks
TELIT and the Stylized T-Logo are registered in the Trademark Office. All other product
or service names are property of their respective owners.
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 LOST 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.
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:
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
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 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
8. GLOSSARY
9. RELATED DOCUMENTS