summaryrefslogtreecommitdiff
path: root/docs/reference/api/html/ref-overview-modem-state-machine.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/api/html/ref-overview-modem-state-machine.html')
-rw-r--r--docs/reference/api/html/ref-overview-modem-state-machine.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/docs/reference/api/html/ref-overview-modem-state-machine.html b/docs/reference/api/html/ref-overview-modem-state-machine.html
new file mode 100644
index 00000000..1d63ae6d
--- /dev/null
+++ b/docs/reference/api/html/ref-overview-modem-state-machine.html
@@ -0,0 +1,122 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Modem state machine: ModemManager Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<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-modem-object-creation.html" title="Modem object creation">
+<link rel="next" href="ch06s02.html" title="Enabling">
+<meta name="generator" content="GTK-Doc V1.29 (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="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ref-overview.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="ref-overview-modem-object-creation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="ch06s02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h2 class="title">
+<a name="ref-overview-modem-state-machine"></a>Modem state machine</h2></div></div></div>
+<div class="toc"><dl class="toc">
+<dt><span class="section"><a href="ref-overview-modem-state-machine.html#id-1.2.7.5">Initialization</a></span></dt>
+<dt><span class="section"><a href="ch06s02.html">Enabling</a></span></dt>
+<dt><span class="section"><a href="ch06s03.html">Connection &amp; disconnection</a></span></dt>
+<dt><span class="section"><a href="ch06s04.html">Disabling</a></span></dt>
+</dl></div>
+<p>
+ Once all ports of a given modem have been probed and grabbed by a newly created
+ Modem object, ModemManager will start the global state machine for the modem, as
+ defined in the picture below.
+ </p>
+<div class="figure">
+<a name="mm-modemmanager-states"></a><p class="title"><b>Figure 1. ModemManager states</b></p>
+<div class="figure-contents"><div><img src="ModemManager-states.png" alt="ModemManager states"></div></div>
+</div>
+<br class="figure-break"><p>
+ The state machine of a modem can be summarized in 5 main sequences:
+ initialization, enabling, connection, disconnection and disabling.
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="id-1.2.7.5"></a>Initialization</h2></div></div></div>
+<p>
+ The modem initialization sequence starts only when all ports
+ have been probed and grabbed by a given plugin. This is done so that the proper
+ AT port (that suggested to be Primary) is used as control port.
+ </p>
+<p>
+ The global initialization sequence is itself splitted into N per-interface
+ initialization steps (being N the number of interfaces implemented by the
+ modem object). The following list provides the steps required in the
+ initialization sequence of a Broadband modem object.
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<p><span class="emphasis"><em>Modem interface initialization</em></span></p>
+<p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.html" title="org.freedesktop.ModemManager1.Modem">Modem interface</a>
+ provides common actions and information available in the majority of the modems
+ (including Broadband-specific items which won't be implemented by POTS modems).
+ </p>
+<p>
+ One of the key things done during the initialization of this interface is the
+ <span class="emphasis"><em>checking of supported capabilities</em></span>. Broadband modem objects
+ are able to handle 3GPP-only, CDMA-only and mixed 3GPP+CDMA modems, but in order
+ to properly handle the distinctions required in these, ModemManager first needs
+ to know exactly which is the current set of capabilities.
+ </p>
+<p>
+ The other key step in this sequence involves <span class="emphasis"><em>checking the lock status
+ of the modem and/or SIM </em></span>. If the modem/SIM is found to be locked, the
+ whole initialization sequence is halted and the modem is left in a locked state
+ until unlocked by the user. Note, therefore, that modems that are locked will not
+ expose additional feature-specific DBus interfaces until they get unlocked.
+ </p>
+<div class="note"><p>
+ It may be the case that some of the steps in the initialization of the Modem
+ interface require the modem itself to be unlocked. If the modem is found locked
+ during the first initialization attempt, as soon as it gets unlocked the
+ initialization sequence will be re-executed.
+ </p></div>
+</li>
+<li class="listitem">
+<span class="emphasis"><em>3GPP interface initialization</em></span><p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Modem3gpp.html" title="org.freedesktop.ModemManager1.Modem.Modem3gpp">3GPP interface</a>
+ provides common actions and setup for modems which provide 3GPP capabilities. Therefore,
+ this interface initialization sequence will only be run in 3GPP-enabled modems.
+ </p>
+</li>
+<li class="listitem">
+<span class="emphasis"><em>CDMA interface initialization</em></span><p>
+ The <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.ModemCdma.html" title="org.freedesktop.ModemManager1.Modem.ModemCdma">CDMA interface</a>
+ provides common actions and setup for modems which provide CDMA capabilities. Therefore,
+ this interface initialization sequence will only be run in CDMA-enabled modems.
+ </p>
+</li>
+<li class="listitem">
+<p><span class="emphasis"><em>Additional feature-specific interface initializations</em></span></p>
+<p>
+ Modems with additional features will export feature-specific interfaces, such as
+ the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Location.html" title="org.freedesktop.ModemManager1.Modem.Location">Location</a> or
+ the <a class="link" href="gdbus-org.freedesktop.ModemManager1.Modem.Messaging.html" title="org.freedesktop.ModemManager1.Modem.Messaging">Messaging</a>
+ ones.
+ </p>
+<p>
+ These interfaces also have their own initialization sequences, where the first step
+ in the sequence is always the check of whether the given modem supports the given feature.
+ In other words, modems will only end up exporting the interfaces for the features they
+ support.
+ </p>
+</li>
+</ul></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.29</div>
+</body>
+</html> \ No newline at end of file