aboutsummaryrefslogtreecommitdiff
path: root/docs/reference/api
AgeCommit message (Collapse)Author
2021-09-10Revert "api: remove Modem.Sar interface"Aleksander Morgado
This reverts commit 686e37ff84daca6096fe18781ad9ba6f29cd4063.
2021-09-07build: Port to mesonIñigo Martínez
meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools.
2021-08-09api: remove Modem.Sar interfaceAleksander Morgado
There is no real implementation for it yet, so let's recover these changes once 1.18 has been released.
2021-06-16filter: trivial: reorder WWAN rule before the TTY onesAleksander Morgado
2021-06-16filter: remove support for TTY blacklist, TTY greylist and TTY default allowedAleksander Morgado
These lists were used in the corresponding TTY_BLACKLIST and TTY_MANUAL_SCAN_ONLY filter rules, in the LEGACY and PARANOID filter types, which are no longer supported. The DEFAULT_ALLOWED filter rule made sense only in the LEGACY filter type, and therefore it is also now removed, leaving the DEFAULT_FORBIDDEN fallback rule exclusively. In other words, there is now no way to ask ModemManager to implicitly allow TTY ports; the only way to do that is by explicit making the TTY ports fall in one filter rule that would allow them.
2021-06-16docs: add missing references for several filter rulesAleksander Morgado
2021-06-16docs: remove LEGACY(DEFAULT) and PARANOID filter policy documentationAleksander Morgado
2021-05-22api,errors: document all DBus error name prefixesAleksander Morgado
Since ModemManager 1.0 we were publishing symbols to identify all the possible DBus error name prefixes, but these were never documented, they were explicitly ignored in gtk-doc. Let's provide proper documentation for them and make them first-class API symbols.
2021-05-22docs,api: add index for 1.14Aleksander Morgado
Some of the newly deprecated enum values were introduced in 1.14.
2021-05-22api: update MMMobileEquipmentError enum valuesAleksander Morgado
Update the list of mobile equipment error codes according to v17.1.0 of 3GPP TS 27.007 (March 2021). A lot of the enum values that were prefixed with the 'GPRS_' keyword have now been flagged as deprecated, and a new enum name given to the corresponding value. The deprecated symbol names are kept in the compat support to avoid breaking API/ABI.
2021-04-29api,modem: new Modem3gpp.ProfileManager interfaceAleksander Morgado
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.
2021-04-29api,bearer: new 'apn-type' settingAleksander Morgado
This new setting allows the user setting up the connection to specify the purpose of the connection being brought up. Until now, we would always assume that connections are exclusively brought up for connecting to the Internet, also limited by the inability to connect to multiple different APNs at the same time. But that may really not be true as there may be additional services that may be accessed through other APNs, like MMS services or even private networks for companies that have their own APNs on a given operator (e.g. not that uncommon with banks and connected cars). The new APN type setting will not change the way the bearer is connected, but will allow the connection manager to decide what kind of networking setup the specific connection needs. This new setting can be provided by the user itself, or implicitly read from the device if the device stores this information.
2021-03-23docs,api: include missing reference to the SAR interfaceAleksander Morgado
2021-03-23build: add support for the new SAR interfaceAleksander Morgado
Include the new SAR interface in the build so that gdbus-codegen generates support for it in libmm-glib as well as proper documentation in the API reference.
2021-03-10docs: add api indices for 1.18Aleksander Morgado
2021-03-10api,simple: new 'multiplex' setting in bearer propertiesAleksander Morgado
Both the Simple.Connect() and Modem.CreateBearer() are updated to allow a new 'multiplex' setting in the properties provided by the user in both of these methods. The new setting expects a MMBearerMultiplexSupport enum indicating what kind of multiplex needs the user has: * none: if multiplex must not be used. * requested: if multiplex should be used if available. * required: if multiplex must be used. The underlying implementations will take care of accepting or rejecting the setting depending on the system and modem capabilities.
2021-01-17core: update copyright years to 2021Aleksander Morgado
2021-01-16docs: add 'online-location' referencesAleksander Morgado
So that the gtkdoc-rebase step fixes the URLs to contain the correct links; e.g.: $ make dist V=s make[8]: Entering directory '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib' make \ top_distdir="../../../ModemManager-1.15.0" distdir="../../../ModemManager-1.15.0/docs/reference/libmm-glib" \ dist-hook ../ModemManager/ -> https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/ (914) ../gio/ -> https://developer.gnome.org/gio/unstable/ (2564) ../glib/ -> https://developer.gnome.org/glib/unstable/ (5534) ../gobject/ -> https://developer.gnome.org/gobject/unstable/ (499) make[8]: Leaving directory '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib' Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/298
2020-11-09api: new ID_MM_PORT_TYPE_QMI and ID_MM_PORT_TYPE_MBIM udev hintsAleksander Morgado
It is no longer true that all QMI ports are exposed by the qmi_wwan driver and that all MBIM ports are exposed by the cdc_mbim driver. There are other generic setups that allow exposing these types of ports using different drivers, and usually we can also know the type of port in advance via other means. Therefore, allow adding udev port type hints for QMI and MBIM ports as well.
2020-11-06filter: simplify CDC_WDM rule to a subsystem-only USBMISC checkAleksander Morgado
This is not just a rename of the rule, we also now avoid doing an explicit check on the port name as well, and we rely on subsystem checks only; i.e. the same logic applied for net ports. The port candidate rules already do a 'cdc-wdm*' device name check so it shouldn't be a big deal.
2020-04-09api: deprecate MM_MODEM_CAPABILITY_LTE_ADVANCEDAleksander Morgado
It's not used anywhere.
2020-01-03build: bump copyright years to 2020Aleksander Morgado
2019-10-28docs,api: rework how indices are exposed in docsAleksander Morgado
Use <chapter> so that all per-version indices are included in the docs.
2019-10-24docs,api: add missing reference to ID_MM_PORT_TYPE_AUDIOAleksander Morgado
2019-10-24docs,api: provide per-version indicesAleksander Morgado
2019-08-29udev: remove ID_MM_PLATFORM_DRIVER_PROBE tagAleksander Morgado
This tag is completely redundant because users can whitelist the platform TTY ports to use with the more generic ID_MM_DEVICE_PROCESS tag, which is part of the explicit whitelist filter rule.
2019-08-29udev: rename ID_MM_DEVICE_MANUAL_SCAN_ONLY to ID_MM_TTY_MANUAL_SCAN_ONLYAleksander Morgado
The udev tag that allows flagging devices that MAY be modems (e.g. USB<->RS232 adapters) is only applicable to TTY devices, so explicitly specify that in the tag name as well.
2019-08-29udev: repurpose ID_MM_DEVICE_IGNORE and new MM_FILTER_RULE_EXPLICIT_BLACKLISTAleksander Morgado
Until now the ID_MM_DEVICE_IGNORE udev tag was being used in the internal blacklist of devices shipped by ModemManager when running in either DEFAULT or PARANOID filter modes. The name of the tag is extremely misleading because it doesn't really make the full device be ignored, the tag only applied to TTY ports. This commit repurposes the tag so that it applies to ANY kind of port (e.g. TTY, NET, cdc-wdm...) and also to any kind of filter type (i.e. also applicable in STRICT mode). The internal blacklist shipped by ModemManager, which should NOT be used in STRICT mode, uses a new tag name, ID_MM_TTY_BLACKLIST. The new ID_MM_DEVICE_IGNORE tag is therefore much more usable and its name is really meaningful. If there are users or third-party projects adding their own udev rules with the ID_MM_DEVICE_IGNORE tag name, they should have no problem as the new rule is more restrictive than the old one.
2019-08-29docs: untabifyBen Chan
2019-07-02docs: add deprecated items to sections fileAleksander Morgado
2019-01-11build: update copyright years to 2019Aleksander Morgado
2019-01-03api,firmware: new UpdateSettings propertyAleksander Morgado
2018-12-07api,bearer: new 'BearerType' propertyAleksander Morgado
Until now we have only allowed to use and setup 'default bearers' (in 4G) or 'primary contexts' (in 2G/3G). We can define a couple of additional bearer types, though: * The 'dedicated bearers' (in 4G) or 'secondary contexts' (in 2G/3G), which are associated to a specific default/primary one, but which provide specific QoS settings configured via traffic flow templates. * The 'initial default EPS bearer', which is a special case of default bearer in LTE, which is automatically created and connected when the modem is registered in the LTE network. This commit introduces a new 'MMBearerType' enumeration that will be associated to each bearer through a 'BearerType' property in the org.freedesktop.ModemManager1.Bearer interface, showing what kind of bearer/context this is. By default, right now, all bearer objects created are 'default' bearers.
2018-10-27doc: fix multiple missing referencesAleksander Morgado
2018-09-25udev: define all generic tags as symbolsAleksander Morgado
This prevents errors due to nasty typos in the strings. We define all symbols in a single header file that is NOT considered part of the API, as there is no need for MM clients to know about these tags code-wise. These tags are only meaningful when associated to devices in udev. Information of each tag is included in the general API documentation. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/88
2018-08-21api: support location assistance dataAleksander Morgado
Sometimes SUPL-server based A-GPS is not possible, e.g. if the module doesn't have Internet connectivity. In such cases, the modem may support injecting additional "assistance data" that may be downloaded from the Internet using external means (e.g. WiFi), in order to keep having a quick time to first fix. We now support using this location assistance data, with the following new API elements: * A new mask of supported assistance data types is provided in the SupportedAssistanceData property. * A new list of URLs from where the aassistance data may be downloaded is also provided in a new AssistanceDataServers property. * A new InjectAssistanceData() method is provided, to perform the data injection in the module once it's been downloaded to the host system.
2018-01-25*: Spelling fixesVille Skyttä
2018-01-20modem-3gpp: allow loading and changing EPS UE mode of operationAleksander Morgado
The UE modes of operation for LTE are defined in 3GPP TS 24.301 (e.g. section 4.3 in v10.3.0): * PS mode 1: EPS only, 'voice centric' * PS mode 2: EPS only, 'data centric' * CS/PS mode 1: EPS and non-EPS, 'voice centric' * CS/PS mode 2: EPS and non-EPS, 'data centric' The mode specifies, among other things, how the UE should behave w.r.t CS fallback depending on the capabilities reported by the network.
2017-12-05docs: include device filter policies/rules documentationAleksander Morgado
2017-12-05docs: port probing reference in its own chapterAleksander Morgado
2017-09-07api: add MM_DISABLE_DEPRECATED guards around deprecated symbolsAleksander Morgado
When this symbol is defined, e.g. via CFLAGS, building a program that uses the ModemManager API will fail if the program references deprecated symbols. For now we just use it to keep gtk-doc-scan happy and avoid unnecessary warnings.
2017-09-07api: consolidate CDMA frequency enumerationsAleksander Morgado
Define new symbols with easier names, just based on the Band Class.
2017-09-07api: new MM_BAND_UTRAN_ enumerations for WCDMA bandsAleksander Morgado
Flag as deprecated the old names, and define new ones based on the defined UTRAN band numbers, equivalent to what was done for LTE bands.
2017-09-07api: don't use intermediate variables for deprecation warningsAleksander Morgado
Using an intermediate constant variable breaks compilation with C compilers, as these variables cannot be used as initializers. Instead, define a deprecated type and cast all deprecated symbols to that type. We lose the information about what the new replacement symbol is, but we don't break compilation. E.g.: test.c: In function ‘main’: test.c:8:5: warning: ‘MMModemBandDeprecated’ is deprecated [-Wdeprecated-declarations] printf ("band: %d\n", MM_MODEM_BAND_U2100); ^~~~~~
2017-06-28compat: add compatibility definitions for old MM_MODEM_BAND_EUTRAN_* valuesBen Chan
Those Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_* were replaced with 1, 2, 3, ..., etc. This patch adds a compatibility header, ModemManager-compat.h, to alias the old MM_MODEM_BAND_EUTRAN_* values to the new values.
2017-03-08docs: update copyright year to 2017Aleksander Morgado
2016-07-26build: updated copyright years up to 2016Aleksander Morgado
2015-10-07build: diagrams and logos are no longer generated during build, so don't ↵Aleksander Morgado
remove them
2015-10-07build: don't add PNGs in content_files, no longer neededAleksander Morgado
2015-08-02docs,api: add missing links to the new Voice interface and Call objectAleksander Morgado