My changes to ModemManager

Lubomir Rintel a703cd2cc4 udev: Don't mark disconnected RFCOMM ttys as candidates 9 years ago
build-aux ebf7f790a6 build,build-aux: include missing `mm-errors-quarks-template.c' file in dist 11 years ago
cli 72f4aa75d7 cli,location: allow enabling/disabling A-GPS 9 years ago
data c8572c8098 polkit: fix Location.Setup() authorization rules 9 years ago
decode f08c76f00c decode: handle another UsbSnoop URB function 11 years ago
docs cd5ca169f1 libmm-glib,location: add helpers to get/set the SUPL server address 9 years ago
examples ae99c452eb examples: add modem watcher example in JS 10 years ago
include fbeee20d5b introspection,api: add SUPL server configuration in the Location interface 9 years ago
introspection fbeee20d5b introspection,api: add SUPL server configuration in the Location interface 9 years ago
libmm-glib cd5ca169f1 libmm-glib,location: add helpers to get/set the SUPL server address 9 years ago
libqcdm f6b0fd3f7b libqcdm: new 'reset' tester 9 years ago
libwmc a691eec6ca build: avoid using 'INCLUDES' in Makefile.am 10 years ago
m4 d42011d6bf build: include vapigen.m4 and introspection.m4 10 years ago
plugins 50ec0907de zte: blacklist QMI and net interface in the MF60 9 years ago
po fbb35628d5 po: don't translate test files 10 years ago
src a703cd2cc4 udev: Don't mark disconnected RFCOMM ttys as candidates 9 years ago
test f3f499fcec test: remove testers of the old interface 11 years ago
uml290 30fb4e9da7 wmc: add get functionality to uml290mode 11 years ago
vapi bfae863296 libmm-glib: Add vala bindings 10 years ago
vl600 7144b673e2 vl600: update AT com tool and RE notes 11 years ago
.gitignore f6b0fd3f7b libqcdm: new 'reset' tester 9 years ago
AUTHORS 8fcfae43e0 AUTHORS: update from git log 9 years ago
COPYING 36fe2012cc license: update to latest gplv2 text 10 years ago
COPYING.LIB 22193e2f3a license: add LGPLv2+ license in addition to the GPLv2+ one 10 years ago
ChangeLog cc31458b18 Initial commit. 15 years ago
Makefile.am ebff76cfaa examples: add modem watcher example in python 10 years ago
NEWS a2a7131701 release: bump version to 1.4.0 9 years ago
README 22193e2f3a license: add LGPLv2+ license in addition to the GPLv2+ one 10 years ago
TODO 564b3610fd TODO: remove already implemented or no longer applicable items 10 years ago
autogen.sh add455c7e5 build: fix passing arguments to configure from autogen.sh (bgo #694157) 11 years ago
configure.ac 8718ed53be build: remove --with-newest-qmi-commands configure option 9 years ago
gtester.make 2ad39277d2 build: setup gtester based tests 11 years ago

README

ModemManager.
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...).

Using.
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.

Implementation.
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.

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 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!

License.
The ModemManager and mmcli binaries are both GPLv2+.
The libmm-glib library is LGPLv2+.