build: convert README to markdown
Also add SPDX license identifier and a copyright notice.
This commit is contained in:
committed by
Aleksander Morgado
parent
030ec7c5bb
commit
18144e73bc
@@ -0,0 +1,57 @@
|
||||
<!--
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
Copyright (C) 2008 Tambet Ingo <tambet@gmail.com>
|
||||
-->
|
||||
|
||||
# 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 provide 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+.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
Please note that this project is released with a Contributor Code of Conduct.
|
||||
By participating in this project you agree to abide by its terms, which you can
|
||||
find in the following link:
|
||||
https://www.freedesktop.org/wiki/CodeOfConduct
|
||||
|
||||
CoC issues may be raised to the project maintainers at the following address:
|
||||
modemmanager-devel-owner@lists.freedesktop.org
|
||||
Reference in New Issue
Block a user