0% found this document useful (0 votes)
30 views

Using-ModemManager-with-Telit-Modems-Application-Note (1)

Informação sobre o modem da Telit

Uploaded by

Aleksandro Matos
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Using-ModemManager-with-Telit-Modems-Application-Note (1)

Informação sobre o modem da Telit

Uploaded by

Aleksandro Matos
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Using ModemManager with Telit Modems

Application Note
80455NT11505A Rev. 0 – 2016-10-14
[04.2016]

Mod. 0809 2016-08 Rev.7


SPECIFICATIONS ARE SUBJECT TO CHANGE WITHOUT NOTICE
NOTICE
While reasonable efforts have been made to assure the accuracy of this document, Telit
assumes no liability resulting from any inaccuracies or omissions in this document, or from
use of the information obtained herein. The information in this document has been carefully
checked and is believed to be reliable. However, no responsibility is assumed for
inaccuracies or omissions. Telit reserves the right to make changes to any products
described herein and reserves the right to revise this document and to make changes from
time to time in content hereof with no obligation to notify any person of revisions or changes.
Telit does not assume any liability arising out of the application or use of any product,
software, or circuit described herein; neither does it convey license under its patent rights
or the rights of others.
It is possible that this publication may contain references to, or information about Telit
products (machines and programs), programming, or services that are not announced in
your country. Such references or information must not be construed to mean that Telit
intends to announce such Telit products, programming, or services in your country.
COPYRIGHTS
This instruction manual and the Telit products described in this instruction manual may be,
include or describe copyrighted Telit material, such as computer programs stored in
semiconductor memories or other media. Laws in the Italy and other countries preserve for
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 copyrighted material of Telit and its licensors
contained herein or in the Telit products described in this instruction manual may not be
copied, reproduced, distributed, merged or modified in any manner without the express
written permission of Telit. Furthermore, the purchase of Telit products shall not be deemed
to grant either directly or by implication, estoppel, or otherwise, any license under the
copyrights, patents or patent applications of Telit, as arises by operation of law in the sale
of a product.
COMPUTER SOFTWARE COPYRIGHTS
The Telit and 3rd Party supplied Software (SW) products described in this instruction
manual may include copyrighted Telit and other 3rd Party supplied computer programs
stored in semiconductor memories or other media. Laws in the Italy and other countries
preserve for Telit and other 3rd Party supplied SW certain exclusive rights for copyrighted
computer programs, including the exclusive right to copy or reproduce in any form the
copyrighted computer program. Accordingly, any copyrighted Telit or other 3rd Party
supplied SW computer programs contained in the Telit products described in this instruction
manual may not be copied (reverse engineered) or reproduced in any manner without the
express written permission of Telit or the 3rd Party SW supplier. Furthermore, the purchase
of Telit products shall not be deemed to grant either directly or by implication, estoppel, or
otherwise, any license under the copyrights, patents or patent applications of Telit or other
3rd Party supplied SW, except for the normal non-exclusive, royalty free license to use that
arises by operation of law in the sale of a product.

80455NT11505A Rev. 0 Page 2 of 18 2016-10-14


USAGE AND DISCLOSURE RESTRICTIONS
I. License Agreements

The software described in this document is the property of Telit and its licensors. It is
furnished by express license agreement only and may be used only in accordance with the
terms of such an agreement.
II. Copyrighted Materials

Software and documentation are copyrighted materials. Making unauthorized copies is


prohibited by law. No part of the software or documentation may be reproduced,
transmitted, transcribed, stored in a retrieval system, or translated into any language or
computer language, in any form or by any means, without prior written permission of Telit
III. High Risk Materials

Components, units, or third-party products used in the product described herein are NOT
fault-tolerant and are NOT designed, manufactured, or intended for use as on-line control
equipment in the following hazardous environments requiring fail-safe controls: the
operation of Nuclear Facilities, Aircraft Navigation or Aircraft Communication Systems, Air
Traffic Control, Life Support, or Weapons Systems (High Risk Activities"). Telit and its
supplier(s) specifically disclaim any expressed or implied warranty of fitness for such High
Risk Activities.
IV. Trademarks

TELIT and the Stylized T Logo are registered in Trademark Office. All other product or
service names are the property of their respective owners.
V. Third Party Rights

The software may include Third Party Right software. In this case you agree to comply with
all terms and conditions imposed on you in respect of such separate software. In addition
to Third Party Terms, the disclaimer of warranty and limitation of liability provisions in this
License shall apply to the Third Party Right software.
TELIT HEREBY DISCLAIMS ANY AND ALL WARRANTIES EXPRESS OR IMPLIED
FROM ANY THIRD PARTIES REGARDING ANY SEPARATE FILES, ANY THIRD PARTY
MATERIALS INCLUDED IN THE SOFTWARE, ANY THIRD PARTY MATERIALS FROM
WHICH THE SOFTWARE IS DERIVED (COLLECTIVELY “OTHER CODE”), AND THE
USE OF ANY OR ALL THE OTHER CODE 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 CODE SHALL HAVE ANY LIABILITY FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING WITHOUT LIMITATION LOST 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 CODE
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.

80455NT11505A Rev. 0 Page 3 of 18 2016-10-14


APPLICABILITY TABLE
PRODUCTS

GE910-QUAD
UL865 SERIES
UE910 SERIES
HE910 SERIES
HE910 MINI PCIE
LE910 SERIES
LE920 AUTO SERIES
LE910 V2 SERIES
LE910 CAT.1 SERIES
LN930 SERIES

80455NT11505A Rev. 0 Page 4 of 18 2016-10-14


CONTENTS

NOTICE 2

COPYRIGHTS ................................................................................................ 2

COMPUTER SOFTWARE COPYRIGHTS ...................................................... 2

USAGE AND DISCLOSURE RESTRICTIONS ............................................... 3


I. License Agreements ..................................................................... 3
II. Copyrighted Materials ................................................................... 3
III. High Risk Materials ....................................................................... 3
IV. Trademarks .................................................................................. 3
V. Third Party Rights ......................................................................... 3

APPLICABILITY TABLE ................................................................................ 4

CONTENTS .................................................................................................... 5

1. INTRODUCTION .......................................................................... 6

2. MODEMMANAGER ..................................................................... 9
Overview....................................................................................... 9
License ......................................................................................... 9
Availability..................................................................................... 9
Resources .................................................................................... 9

3. MODEMMANAGER WITH TELIT MODEMS .............................. 10


Compatibility list .......................................................................... 10

4. MMCLI ........................................................................................ 11
Overview..................................................................................... 11
Checking modem availability....................................................... 11
Getting modem information ......................................................... 11
Getting sim information ............................................................... 13
Getting bearer information .......................................................... 13

5. DEBUGGING MODEMMANAGER ............................................. 15


Syslog output .............................................................................. 15
Enabling debug mode ................................................................. 15

6. GLOSSARY AND ACRONYMS ................................................. 16

7. DOCUMENT HISTORY .............................................................. 17

80455NT11505A Rev. 0 Page 5 of 18 2016-10-14


1. INTRODUCTION
1.1. Scope
Scope of this document is to provide a quick-start guide for using Linux freedesktop.org
ModemManager with Telit modems.
1.2. Audience
This document is intended for Linux users who are going to use a Telit modem.

1.3. Contact Information, Support


For general contact, technical support services, technical questions and report
documentation errors contact Telit Technical Support at:

[email protected]
[email protected]
[email protected]

Alternatively, use:
http://www.telit.com/support

For detailed information about where you can buy the Telit modules or for recommendations
on accessories and components visit:
http://www.telit.com

Our aim is to make this guide as helpful as possible. Keep us informed of your comments
and suggestions for improvements.
Telit appreciates feedback from the users of our information.

80455NT11505A Rev. 0 Page 6 of 18 2016-10-14


1.4. Text Conventions

Danger – This information MUST be followed or catastrophic equipment


failure or bodily injury may occur.

Caution or Warning – Alerts the user to important points about integrating the
module, if these points are not followed, the module and end user equipment
may fail or malfunction.

Tip or Information – Provides advice and suggestions that may be useful


when integrating the module.

All dates are in ISO 8601 format, i.e. YYYY-MM-DD.

80455NT11505A Rev. 0 Page 7 of 18 2016-10-14


1.5. Related Documents

 CE/DE/LE910, HE/LE920, LE922, LE940A6 Linux USB Driver - User Guide,


1VV0301254
 GE/HE/UE910, UL865, LE910 V2, LE940B6 Linux USB Driver - User Guide,
1VV0301255
 Using NetworkManager with Telit Modems - Application Note, 80455NT11504A

80455NT11505A Rev. 0 Page 8 of 18 2016-10-14


2. MODEMMANAGER
Overview
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).
For managing non AT-based modems ModemManager uses external libraries:
freedesktop.org libqmi for QMI-based modems, libmbim for MBIM-based modems.
ModemManager can be used with freedesktop.org NetworkManager for easier network
connections management: please refer to NetworkManager documentation for further
details.
This guide focuses on using ModemManager with Telit modems.

When ModemManager is up and running, it assumes to have exclusive


control over the modem, so avoid direct communication (e.g. sending AT
commands through minicom, or MBIM messages with mbimcli).

License
At the moment of writing ModemManager is distributed according to the GPL V2 license.

Availability
ModemManager is usually available in desktop Linux distributions. If missing, it can be
generally installed using the package manager of your distribution of choice. For example
in Ubuntu 16.04 the command apt can be used:

user@pc:~$ sudo apt install modemmanager

Source code of ModemManager is publicly available to allow custom builds if packages are
missing. Refer to the project documentation for instructions on the build process.
Resources
Following a list of useful resources:

 Project official page


 Git repository
 libqmi project official page
 libmbim project official page
 Additional documentation is available using man (e.g. man
ModemManager)

80455NT11505A Rev. 0 Page 9 of 18 2016-10-14


3. MODEMMANAGER WITH TELIT MODEMS
Compatibility list
Following the list of supported Telit modems according to their USB composition (identified
by the PID):

MODEM PID

GE910-QUAD 0x0022

UL865 Series 0x0021

UE910 Series 0x0021

HE910 Series, HE910 Mini 0x0021


PCIe

LE910 Series 0x1201

LE920 AUTO Series 0x1201

LE910 V2 Series 0x0032

LE910 Cat.1 Series 0x0032

LN930 Series Contact customer support

80455NT11505A Rev. 0 Page 10 of 18 2016-10-14


4. MMCLI
Overview
Once the ModemManager daemon is properly setup and running, it can be managed
through the D-Bus API. mmcli is a command line client tool that allows controlling
ModemManager and reporting its status.
Some examples of mmcli usage with Telit modems are shown in the next paragraphs.
For further details please refer to mmcli man page:

user@pc:~$ man mmcli

Checking modem availability


Modem availability can be checked with:

user@pc:~$ mmcli -L
Found 1 modems:
/org/freedesktop/ModemManager1/Modem/1 [Telit] HE910-D

This is the output when using an HE910-D; it holds four important pieces of information:

 The modem <PATH>: /org/freedesktop/ModemManager1/Modem/1


in this example.
 The modem <INDEX> or <ID> that is the terminating number of the path: 1
in this example.
 The PLUGIN chosen by ModemManager for managing the modem:
[Telit] in this example. The plugin choice is done according to different
reasons (VID/PID of the modem, protocol used, udev rules…).
 Modem NAME: HE910-D in this example.

<PATH> and <INDEX> are created by ModemManager once a modem has been properly
probed and managed by the daemon. These values are important since most of mmcli
commands need them.

Getting modem information


Modem information can be retrieved with:

user@pc:~$ mmcli -m <ID>

e.g.

user@pc:~$ mmcli -m 1
/org/freedesktop/ModemManager1/Modem/1 (device id
'c45a149f2f0b35583688d850d2fbf0955e1b322b')
-------------------------
Hardware | manufacturer: 'Telit'
| model: 'HE910'
| revision: '12.00.007'
| supported: 'gsm-umts'
| current: 'gsm-umts'
| equipment id: '357164041005136'
-------------------------
System | device: '/sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-
1.2/3-1.2.3'
| drivers: 'cdc_acm'
80455NT11505A Rev. 0 Page 11 of 18 2016-10-14
| plugin: 'Telit'
| primary port: 'ttyACM0'
| ports: 'ttyACM3 (at), ttyACM4 (unknown), ttyACM5 (unknown),
ttyACM0 (at), ttyACM1 (unknown), ttyACM2 (unknown)'
-------------------------
Numbers | own : '912313191111'
-------------------------
Status | lock: 'none'
| unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2
(10)'
| state: 'connected'
| power state: 'on'
| access tech: 'hsdpa'
| signal quality: '57' (recent)
-------------------------
Modes | supported: 'allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 2g, 3g; preferred: none'
| current: 'allowed: 2g, 3g; preferred: none'
-------------------------
Bands | supported: 'egsm, dcs, pcs, g850, u2100, u1900, u850, u900,
u17iv'
| current: 'egsm, dcs, u900'
-------------------------
IP | supported: 'ipv4, ipv6, ipv4v6'
-------------------------
3GPP | imei: '357164041005136'
| enabled locks: 'none'
| operator id: '22201'
| operator name: 'I TIM'
| subscription: 'unknown'
| registration: 'home'
-------------------------
SIM | path: '/org/freedesktop/ModemManager1/SIM/1'
-------------------------
Bearers | paths: '/org/freedesktop/ModemManager1/Bearer/0'

Most of the information fields are self-explaining; to check if one of the modems in the
Applicability Table has been properly recognized check the drivers, plugin and primary port
fields according to the following table:

MODEM DRIVERS PLUGIN PRIMARY PORT

GE910- cdc_acm Telit ttyACM0


QUAD,
UL865,
UE910,
HE910,
HE910 Mini
PCIe
Series

LE910, qmi_wwan, option1 Generic cdc-wdm0


LE920
AUTO
Series

LE910 V2, cdc_acm, cdc_mbim Generic cdc-wdm0


LE910
80455NT11505A Rev. 0 Page 12 of 18 2016-10-14
Cat.1
Series

LN930 cdc_mbim Generic cdc-wdm0


Series

The command returns also two other important paths:

 The sim path, in which the terminating number is the <SIM ID> to be used
in sim related operations:
/org/freedesktop/ModemManager1/SIM/1 in this example.
 The bearer path, in which the terminating number is the <BEARER ID> to
be used in data connection related operations:
/org/freedesktop/ModemManager1/Bearer/0 in this example.

Getting sim information


Sim information can be retrieved with:

user@pc:~$ mmcli -i <SIM ID>

e.g.

user@pc:~$ mmcli -i 1
SIM '/org/freedesktop/ModemManager1/SIM/1'
-------------------------
Properties | imsi : '222016502151656'
| id : '89390100000787049160'
| operator id : '22201'
| operator name : 'I TIM'

Getting bearer information


Bearer information can be retrieved with:

user@pc:~$ mmcli -b <BEARER ID>

e.g.

user@pc:~$ mmcli -b 0
Bearer '/org/freedesktop/ModemManager1/Bearer/0'
-------------------------
Status | connected: 'yes'
| suspended: 'no'
| interface: 'ttyACM0'
| IP timeout: '20'
-------------------------
Properties | apn: 'ibox.tim.it'
| roaming: 'allowed'
| IP type: 'ipv4v6'
| user: 'none'
| password: 'none'
| number: '*99#'

80455NT11505A Rev. 0 Page 13 of 18 2016-10-14


| Rm protocol: 'unknown'
-------------------------
IPv4 configuration | method: 'ppp'
| address: 'unknown'
| prefix: '0'
| gateway: 'unknown'
| DNS: none
-------------------------
IPv6 configuration | method: 'ppp'
| address: 'unknown'
| prefix: '0'
| gateway: 'unknown'
| DNS: none
-------------------------
Stats | Duration: '89'
| Bytes received: 'N/A'
| Bytes transmitted: 'N/A'

80455NT11505A Rev. 0 Page 14 of 18 2016-10-14


5. DEBUGGING MODEMMANAGER
Syslog output
By default ModemManager writes logs into syslog: different log levels can be set, in order
to modify logging verbosity. When dealing with an issue it can be useful to set the maximum
level of log verbosity with the command:

user@pc:~$ mmcli --set-logging=DEBUG

Continuous syslog output can be achieved with:


user@pc:~$ tail -F /var/log/syslog

Enabling debug mode


When using AT commands based modems, it is possible to use ModemManager debug
mode to directly send generic AT commands to the modem through mmcli.
For enabling debug mode ModemManager should be started with the debug flag:

user@pc:~$ ModemManager --debug

Once in debug mode, use mmcli to send the AT command:

user@pc:~$ mmcli -m <ID> --command=<AT COMMAND>

e.g.

user@pc:~$ mmcli -m 0 --command=AT+GMR

ModemManager is usually started as a service: to enable debug mode modify


the service definition file for adding the debug flag.
For example, in distributions that use systemd, check the ModemManager
service definition file (usually /lib/systemd/system/ModemManager.service).
Modify the ExecStart line according to the following:
ExecStart=/usr/local/sbin/ModemManager --debug
Restart the service for activating the change.

80455NT11505A Rev. 0 Page 15 of 18 2016-10-14


6. GLOSSARY AND ACRONYMS
Description

USB Universal Serial Bus

PID Product ID

MBIM Mobile Broadband Interface Model

API Application Programming Interface

80455NT11505A Rev. 0 Page 16 of 18 2016-10-14


7. DOCUMENT HISTORY
Revision Date Changes

0 2016-10-14 First issue

80455NT11505A Rev. 0 Page 17 of 18 2016-10-14


[04.2016]

Mod. 0809 2016-08 Rev.7

You might also like