aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/api/html/ref-overview-introduction.html
blob: 8fbd86aa55a591710e573bf80f0945b381867702 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Introduction</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="ModemManager Reference Manual">
<link rel="up" href="ref-overview.html" title="Part I. ModemManager Overview">
<link rel="prev" href="ref-overview.html" title="Part I. ModemManager Overview">
<link rel="next" href="ref-overview-modem-detection-and-setup.html" title="Modem detection and setup">
<meta name="generator" content="GTK-Doc V1.18.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
<td><a accesskey="p" href="ref-overview.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">ModemManager Reference Manual</th>
<td><a accesskey="n" href="ref-overview-modem-detection-and-setup.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="ref-overview-introduction"></a>Introduction</h2></div></div></div>
<p>
      ModemManager provides a unified high level API for communicating with mobile
      broadband modems, regardless of the protocol used to communicate with the
      actual device (Generic AT, vendor-specific AT, QCDM, QMI, MBIM...).
    </p>
<p><b>Using. </b>
        ModemManager is a system daemon and is not meant to be used directly from
        the command line. However, since it provides a DBus API, it is possible to use
        'dbus-send' commands or the new 'mmcli' command line interface to control it
        from the terminal. The devices are queried from udev and automatically updated
        based on hardware events, although a manual re-scan can also be requested to
        look for RS232 modems.
      </p>
<p><b>Implementation. </b>
        ModemManager is a DBus system bus activated service (meaning it's started
        automatically when a request arrives). It is written in C, using glib and gio.
        Several GInterfaces specify different features that the modems support,
        including the generic MMIfaceModem3gpp and MMIfaceModemCdma which provice basic
        operations for 3GPP (GSM, UMTS, LTE) or CDMA (CDMA1x, EV-DO) modems. If a given
        feature is not available in the modem, the specific interface will not be
        exported in DBus.
      </p>
<p><b>Plugins. </b>
        Plugins are loaded on startup, and must implement the MMPlugin interface. It
        consists of a couple of methods which tell the daemon whether the plugin
        supports a port and to create custom MMBroadbandModem implementations. It most
        likely makes sense to derive custom modem implementations from one of the
        generic classes and just add (or override) operations which are not standard.
        There are multiple fully working plugins in the plugins/ directory that can be
        used as an example for writing new plugins. Writing new plugins is highly
        encouraged! The plugin API is open for changes, so if you're writing a plugin
        and need to add or change some public method, feel free to suggest it!
      </p>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18.1</div>
</body>
</html>