From c4581af5d910fd5d823f0c7c36fec4e0acd59388 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Tue, 28 Feb 2012 10:47:38 +0100 Subject: docs: set `ModemManager' as module name instead of `mm' --- docs/reference/api/ModemManager-overview.xml | 95 ++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 docs/reference/api/ModemManager-overview.xml (limited to 'docs/reference/api/ModemManager-overview.xml') diff --git a/docs/reference/api/ModemManager-overview.xml b/docs/reference/api/ModemManager-overview.xml new file mode 100644 index 00000000..95764795 --- /dev/null +++ b/docs/reference/api/ModemManager-overview.xml @@ -0,0 +1,95 @@ + + + + ModemManager Overview + + + Introduction + + ModemManager provides a unified high level API for communicating with + (mobile broadband) modems. While the basic commands are standardized, + the more advanced operations (like signal quality monitoring while + connected) varies a lot. + + + Using + + ModemManager is a system daemon and is not meant to be used directly from + the command line. However, a command line client (mmcli) is provided, which + may be used to test the different functionality provided during plugin + development. + + + + Implementation + + ModemManager is a DBus system bus activated service (meaning it's started + automatically when a request arrives). It is written in C. The devices are + queried from udev and automatically updated based on hardware events. There are + DBus-interface specific GInterfaces, which should be implemented by any device + specific implementation. There is a generic MMBroadbandModem implementation that + provides a generic implementation of the most common operations in both GSM and + CDMA modems. + + + + Plugins + + 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 modem 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. Writing + new plugins is highly encouraged! + + + + + + State machine + + ModemManager implements support for each Modem by controlling their + behaviour following the steps given in the following state machine. + +
+ ModemManager states + +
+ + The state machine of a modem can be summarized in 5 main sequences: + initialization, enabling, connection, disconnection and disabling. + +
+ Initialization + + + +
+
+ Enabling + + + +
+
+ Connection + + + +
+
+ Disconnection + + + +
+
+ Disabling + + + +
+
+
-- cgit v1.2.3-70-g09d2