aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2020-04-09api: new 5G modeAleksander Morgado
2020-04-09api: new 5GNR capabilityAleksander Morgado
2020-04-09api: deprecate MM_MODEM_CAPABILITY_LTE_ADVANCEDAleksander Morgado
It's not used anywhere.
2019-12-16include,errors: define +CME ERROR code 151 equal to 171Aleksander Morgado
When the MT detects an attempt to disconnect the last PDN or when the network returns a response message with cause value #49, the "Last PDN disconnection not allowed" error is returned. The numeric error code was changed from 151 to 171 in 3GPP Rel-11, and therefore there are devices out there that would conform to Rel-10 or below and that would report +CME ERROR code 151 instead of 171. Given that 151 isn't defined to a different meaning in the specs, let's define it in the same way as 171.
2019-10-24api,compat: fix warnings during doc buildAleksander Morgado
We just move the MM_DISABLE_DEPRECATED check to after the MM_DEPRECATED symbol definition, because gtkdoc-scan gets pretty confused, likely due to the symbol ending with the "_DEPRECATED" suffix. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/91
2019-10-24docs,api: provide per-version indicesAleksander Morgado
2019-10-15core: allow flagging ports as 'audio'Aleksander Morgado
Instead of flagging them as 'ignored' so that they aren't probed, we can also flag them as 'audio' now, so that the logic knows which port to report as used for audio in the Call object.
2019-10-14api: set enum values not part of the API as privateAleksander Morgado
So that we can avoid gtk-doc complaining about them: 2019-10-14 10:46:59,583:common.py:ParseEnumDeclaration:427:WARNING:Cannot parse enumeration member: ../../../include/ModemManager-enums.h:924: warning: Value description for MMModemLocationSource::MM_MODEM_LOCATION_SOURCE_FIRST is missing in source code comment block. ../../../include/ModemManager-enums.h:924: warning: Value description for MMModemLocationSource::MM_MODEM_LOCATION_SOURCE_LAST is missing in source code comment block.
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-07-11api,call: new Deflect() methodAleksander Morgado
This method allows deflecting an incoming or waiting call to a different number.
2019-07-11api,voice: new Transfer() methodAleksander Morgado
This method will join all active and held calls into a single multiparty call, and then request the network to terminate the call on the subscriber's end and transfer the control of the call to the parties that are still in the call.
2019-07-11docs: add missing MMCallStateReason documentationAleksander Morgado
2019-07-11docs: add missing MMCallDirection documentationAleksander Morgado
2019-07-11docs: add missing short description for compat sectionAleksander Morgado
2019-07-11docs: add missing MM_CHECK_VERSION documentationAleksander Morgado
2019-04-09location,agps: include support for MSB A-GPSAleksander Morgado
2019-04-09iface-modem-location: define first and last location sourcesAleksander Morgado
Much clearer to understand when looping through them.
2019-04-09location,agps: explicitly specify that MSA A-GPS is implementedAleksander Morgado
The A-GPS based implementations we currently have assume MSA A-GPS, so rename the MMModemLocationSource enum value to reflect that.
2019-01-03dell,dw5821e: also report QMI PDC based update availableAleksander Morgado
2019-01-03api,firmware: MMModemFirmwareUpdateMethod as flags, not enumAleksander Morgado
Devices may require/support more than one update method, so instead of reporting the method as a single enum value, use a set of flags instead.
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-16api,call: new state reason to report audio setup failuresAleksander 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: define E-UTRAN bands 49 to 64Aleksander Morgado
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-06-10doc: fix explanation of MM_CALL_STATE_RINGING_{IN|OUT}Aleksander Morgado
They were reversed; ringing in applies to incoming calls, ringing out applies to outgoing calls.
2018-05-24include: fix up whitespaceDan Williams
2018-05-22include: add more 3GPP errorsDan Williams
From 3GPP TS 27.007 version 11.6.0 Release 11, sections 9.2.1, 9.2.2.1, 9.2.2.2, and 9.2.2.3.
2018-02-05API: don't depend on GLib in ModemManager headersAleksander Morgado
We should only depend on GLib on the libmm-glib headers. Otherwise, packages using just the core headers (e.g. ModemManagerQt) would also need to build-depend on GLib and we don't want to enforce that. cd ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src && ~/buildroot/output/host/usr/bin/arm-cortexa9_neon-linux-gnueabihf-g++ .... -fPIC -o CMakeFiles/KF5ModemManagerQt_static.dir/bearer.cpp.o -c ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/bearer.cpp In file included from ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager.h:41:0, from ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.h:27, from ~/buildroot/output/build/kde-modemmanager-qt-v5.36.0/src/generictypes.cpp:23: ~/buildroot/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/ModemManager/ModemManager-compat.h:23:18: fatal error: glib.h: No such file or directory compilation terminated.
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-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: define additional LTE frequency bandsAleksander Morgado
2017-09-07api: consolidate CDMA frequency enumerationsAleksander Morgado
Define new symbols with easier names, just based on the Band Class.
2017-09-07api: define additional UMTS frequency bandsAleksander Morgado
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: define additional GSM frequency bandsAleksander Morgado
New definitions for not so common GSM frequency 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-06-28enums: replace Roman numeral suffixes in MM_MODEM_BAND_EUTRAN_*Ben Chan
3GPP TS 36.101 Table 5.5-1 refers the E-UTRA operating bands as 1, 2, 3, ..., etc.
2016-10-123gpp: update registration state enumeration with CSFB related statesAleksander Morgado
Introduce "sms only" and "CSFB not preferred" home/roaming states to be reported for the CS context, while already registered on LTE. Based on 3GPP TS 27.007 v13.5.0.
2016-05-03bearer-mbim: fine-tune bearer IP method reportingDan Williams
v4: modems/providers may not return DNS servers and not all modems support DHCP, so lack of DNS servers should not indicate a bearer IP method of "DHCP". IP config daemon/scripts already have to handle missing DNS anyway. v6: IPv6 requires SLAAC or DHCPv6 as part of the specification, so for now we assume modems will support it. Provide all the info the modem sent, but if there is any missing information use an IP method of "DHCP" to indicate that info should be obtained via SLAAC/DHCPv6. Only use an IP method of "STATIC" when all basic properties are given by the modem.
2015-08-02api,voice: minor coding style fixesAleksander Morgado
2015-08-02api: added Modem.Voice and Call interfaces for voice call handlingRiccardo Vangelisti
2014-10-15qcdm: don't retry probing if QCDM unescaping failsAleksander Morgado
But keep the retries when the frame marker isn't found. https://bugzilla.gnome.org/show_bug.cgi?id=708861
2014-09-05introspection,api: add SUPL server configuration in the Location interfaceAleksander Morgado
2014-07-02location: new 'unmanaged' GPS setupAleksander Morgado
Standard GPS setup (raw/nmea) will both enable the GPS module and take full control of the GPS port. This prevents other processes from reading the NMEA traces from e.g. a tty. In order to handle this, a new 'unmanaged' GPS location source is introduced, which will just enable/disable the GPS module, without reading anything from the GPS port. Of course, both raw/nmea and unmanaged setups cannot be enabled at the same time.