Cellular support

Supported modems

Digi Embedded Yocto includes support for the following cellular modems:

The Digi Embedded Yocto distribution uses the ModemManager daemon to identify your modem and configure it correctly.

ModemManager is a DBus-activated daemon that controls mobile broadband devices and connections. Digi Embedded Yocto uses ModemManager to enable the modem. The daemon runs at startup to connect to your service provider. It provides a low-level command line utility called mmcli.

Configuration settings

Set the following variables in your Digi Embedded Yocto project's conf/local.conf to configure your cellular interface and network provider:

CELLULAR_INTERFACE (required): Name of the network interface created by the modem, usually wwan0, usb0, or eth1 (for network drivers) or ppp0 (for serial drivers).

Note The name of the interface could change depending on the firmware of the cellular modem and other devices connected to the module. You can verify the name of all the network interfaces in the system by running:

ifconfig -a

The authentication settings are optional depending on the cellular network. See the Mobile Broadband Information web page.

The configuration above should be enough to work with most modern cellular modems, such as the Telit LE910, Huawei ME909u, and Sierra Wireless MC7710, and Quectel EC20. These modems do not need to use pppd to create a network interface. Other older serial-only modems such as the Telit HE910 do require pppd to bring up a network interface and thus require the following additional configuration settings:

The cellular variables on your project's conf/local.conf are inserted into the /etc/network/interfaces file as shown in the following example:

conf/local.conf
CELLULAR_INTERFACE = "wwan0"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"

Building the Yocto project with that configuration will attach the following section in the /etc/network/interfaces file, within the generated image.

/etc/network/interfaces
# Cellular interface
auto wwan0
iface wwan0 inet manual
apn movistar.es
pin 1234

You can also manually edit this file directly in the target to match other environments.

The information in that file is then used by the scripts at /etc/network/if-pre-up/ and /etc/network/if-post-down/ to establish or close a cellular connection when bringing the network interface up or down, respectively.

Protocols

The following table shows the default protocol and other protocols supported by these modems.

Modem Default protocol Other supported protocols
Telit LE910 QMI USB Serial
Telit HE910 USB Serial -
Huawei ME909u USB NET Serial, MBIM
Sierra Wireless MC7710 USB NET Serial, QMI, MBIM
Quectel EC20 QMI USB Serial

Configuration examples

The following sections list specific configuration for the modems listed above. In these examples, we use movistar.es as provider and a locked SIM with the pincode "1234".

Telit LE910

local.conf
CELLULAR_INTERFACE = "wwan0"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"

Telit HE910

local.conf
CELLULAR_INTERFACE = "ppp0"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"
CELLULAR_PORT = "ttyACM0"
CELLULAR_USER = "movistar"
CELLULAR_PASSWORD = "movistar"

Huawei ME909u

local.conf
CELLULAR_INTERFACE = "eth1"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"

Sierra Wireless MC7710

local.conf
CELLULAR_INTERFACE = "wwan0"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"

Quectel EC20

local.conf
CELLULAR_INTERFACE = "wwan0"
CELLULAR_APN = "movistar.es"
CELLULAR_PIN = "1234"
CELLULAR_AUTO = "1"

Instructions for unsupported modems

If Digi Embedded Yocto does not support your modem, Digi can provide a "Cellular Integration Guide" to help you integrate a modem into your Digi Embedded Yocto system. Contact your local Digi representative or Digi Technical Support to obtain the Cellular Integration Guide.

Known issues

Limitations

The cellular support in Digi Embedded Yocto is based on the ModemManager open source software package.

Resources