| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This allows us to skip needing to include the non-existent
build_string_from_mask() or get_string() counterparts in the
documentation index.
|
|
|
|
| |
Implementing support for 5GNR cell info.
|
|
|
|
| |
Implementing support for LTE cell info.
|
|
|
|
| |
Implementing support for TDSCDMA cell info.
|
|
|
|
| |
Implementing support for UMTS cell info.
|
|
|
|
| |
Implementing support for GSM cell info.
|
|
|
|
| |
Implementing support for CDMA cell info.
|
|
|
|
|
|
|
| |
Generic base object to implement support for the different types of
cell infos.
Provides support for the 'serving' boolean, which is common to all.
|
| |
|
|
|
|
| |
The libmm-glib library is LGPLv2+, not GPLv2+.
|
|
|
|
| |
To avoid needing to work with GVariants directly.
|
| |
|
| |
|
|
|
|
|
|
| |
This new interface allows modems to expose the list of available
connection profiles stored in the device and edit or delete them; as
long as the underlying device/protocol allows it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define a new helper object which we're going to use to implement the
new profile management interface.
The 3GPP profile object provides the list of settings that modems may
be able to store in their profile list, e.g. "apn", "ip-type" and so
on. Not all modems will be able to support all the settings defined in
the profile object, and therefore, when looking for a specific 3GPP
profile object with a given set of settings, we must make sure we only
compare those settings that are supported by the modem.
The profile management implementation will be able to load during
runtime a set of "compare flags", specifying which settings should not
be checked during the comparison. E.g. a generic AT-based modem that
supports only "apn" and "ip-type" will be compared with the
NO_APN_TYPE and NO_AUTH flags; and an AT/Icera-based modem (which
supports auth settings) will use only NO_APN_TYPE.
The settings in the 3GPP profile should be considered a subset of the
bearer properties.
|
|
|
|
|
|
|
|
| |
The ModemManager1.Sim.PreferredNetworks property contains the preferred
networks (and access technologies, if available) configured to the
SIM card.
This commit implements preferred networks reading with AT+CPOL.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit enables a new core ModemManager daemon option, so that automatic
detection of available modems is totally disabled: '--no-auto-scan'. Note that
this option also replaces the previously used '--test-no-auto-scan' option,
which was only used during tests.
Along with the new ModemManager option, a new ReportKernelEvent() method in
the API is defined, which allows notifying the daemon of which interfaces it
should be accessing, as well as the main details of each interface. The only
mandatory parameters in the new method are 'action' (add/remove), 'name' (the
name of the interface) and 'subsystem' (the subsystem of the interface).
The mmcli tool has support for using the new api method via several new options:
* The '--report-kernel-event' option allows specifying device ports one by
one, and is a direct mapping of the ReportKernelEvent() method:
$ sudo mmcli --report-kernel-event="action=add,name=wwan0,subsystem=net"
$ sudo mmcli --report-kernel-event="action=add,name=cdc-wdm0,subsystem=usbmisc"
* The '--report-kernel-event-auto-scan' option uses udev monitoring to notify
events automatically to the daemon. This allows to operate in a way
equivalent to the default daemon operation (with implicit auto-scan).
Worth noting that the ReportKernelEvent() method is only usable when
'--no-auto-scan' is explicitly used in the daemon. An error will be reported if
the method is tried while standard udev monitoring is enabled (implicit if
auto scan isn't explicitly disabled in the daemon).
If mmcli is going to be used only to report 'real time' events, an optional
'--initial-kernel-events=[PATH]' may be given in the ModemManager call to
automatically process a set of port kernel events one by one on boot. The file
may e.g. contain:
action=add,name=wwan0,subsystem=net
action=add,name=cdc-wdm0,subsystem=usbmisc
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of just a mask of MMModemMode values, we now provide a list of the
allowed and preferred mode combinations supported by the modem. E.g.:
$> sudo mmcli -m 0
-------------------------
Modes | supported: 'allowed: 2g; preferred: none
| allowed: 3g; preferred: none
| allowed: 2g, 3g; preferred: none
| allowed: 2g, 3g; preferred: 2g
| allowed: 2g, 3g; preferred: 3g
| allowed: 4g; preferred: none
| allowed: 2g, 3g, 4g; preferred: none'
|
| |
|
| |
|
|
|
|
| |
And make it only available for internal ModemManager compilation.
|
|
|
|
| |
Unless when compiling libmm-glib itself, of course.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only.
We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI'
symbols, which if included before the `libmm-glib.h' library allow us to:
* Don't include the libmm-glib high level API in the ModemManager daemon, as
the object names would clash with those in the core.
* Define some of the methods of helper objects to be included only if compiling
ModemManager daemon or the mmcli.
|
|
|
|
|
| |
Don't include one by one all the headers from libmm-common, just include the
global `libmm-common.h' which includes all the others.
|
|
|
|
|
|
| |
Avoid trying to merge all interfaces into the same set of APIs, and keep having
a specific object (proxy) for each interface handled by the GDBusObjects
reported listed by the GDBusObjectManager.
|
| |
|
|
The library will contain a small layer of code on top of the proxies and object
manager client generated by gdbus-codegen. Therefore, the headers auto-generated
from the DBus introspection XMLs need to be distributed along with the
libmm-glib specific headers.
|