How to connect LTE module to Xavier


I’m trying to connect LTE module (Telit LN940A9) to Xavier using USB. I received the customized kernel patch (qmi_wwan.c, option.c) and a rule file. try to build the kernel following this step (NVIDIA Xavier - Kernel) and add the rule file to /etc/udev/rules.d.
After this procedure, qmi_wwan port and sirial port should be recognized but I cannot confirm them.
These ports are shown when I tried to connect this module to Linux PC (ubuntu generic).

What kind of things do you think could be the cause?


Did you verify that the kernel you built is the one that is running? An easy way to check that is to run uname -a. Normally the build date is enough to know if it’s the kernel you expect. If you need more confirmation running dmesg | less will provide details about the build time and build machine.


Dear Greg,

Thank you for your reply.

Before checking what you said, I retried to build the kernel some times under same condition. Then I can confirm serial port (ttyUSB0~3) on Xavier. But this result is sometimes changed, for example, Xavier does not boot or there is no serial port. I do not know what causes this though these serial port appear.

BTW, I cannot use qmi_wwan port yet. I think kernel configuration should be modified. If you know about that, please let me know.

Best Regards,


Here’s what I learned while playing with a Telit LM960. I believe that the way you interact with LN940 from Linux is almost identical.

The LN940 Linux Software User’s Guide mentions some patches to the kernel. I found that all those patches are in the 4.9 kernel already.

Add the following modules to your kernel (I built them as modules, adding them to the kernel should work as well):

  • cdc_wdm
  • qmi_wwan
  • option
  • usb_wwan
  • cdc_acm
  • cdc_ether
  • cdc_mbim
  • usbnet
  • cdc-ncm
    You may not need all of them, but build them all for now (you can clean up once you have the modem working).

Start with the default kernel configuration (tegra_defconfig), then added the following:


Install limqmi packages and modem manager:

sudo apt install libqmi-glib5 libqmi-proxy libqmi-utils modemmanager

Create a broadband interface. Here’s how I created one using the GUI:

  • Click on the Network icon
  • Click Edit Connections
  • Click the + button
  • In the Network Type selector choose Mobile Broadband
  • Click next
  • Pick country: (USA in my case)
  • Pick carrier: (AT&T in my case)
  • Pick billing plan: My plan is not listed
  • Type APN: (A list of providers can be found here:Cellular settings by cell phone carrier)
  • Click Apply

Hopefully, at this point you have the wwan network interface up. Check it with ifconfig or ip.

I hope this helps.

Have you managed to run Telit LM960 at Xavier?
Could you extend steps for building the ilst of modules, please?
and how do you add custom values to default kernel configuration? What are the exact steps?