summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS1023
1 files changed, 1023 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e066dcb5..42519fed 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,1027 @@
+ModemManager 1.18.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version now requires:
+ ** glib2 >= 2.56
+ ** libgudev >= 232
+ ** libmbim >= 1.26.0 (for the optional MBIM support)
+ ** libqmi >= 1.30.2 (for the optional QMI support)
+ ** libqrtr-glib >= 1.0.0 (for the optional QRTR support)
+
+ * The ModemManager.service file for systemd integration provided in the sources
+ is updated as follows:
+ ** 'CAP_NET_ADMIN' is now required in the 'CapabilityBoundingSet' field.
+ ** 'AF_NETLINK' and 'AF_QIPCRTR' are now required in the
+ 'RestrictAddressFamilies' field.
+ If the system where ModemManager is being integrated provides a custom
+ systemd service configuration, these updates should be considered.
+
+ * The LEGACY and PARANOID filter types that were allowed options in the
+ '--filter-policy' option in the ModemManager daemon were deprecated in
+ version 1.16.0 and have now been completely removed, along with the vid:pid
+ blacklist of devices and the vid:pid greylist of RS232<->USB adapters.
+
+ * Building from git no longer requires autoconf-archive, the needed AX_ macros
+ are now shipped inside m4/.
+
+ * In addition to building from a source release tarball, or building from git
+ checkouts using the GNU autotools suite (autoconf/automake/libtool), this
+ release includes the initial support for the meson build system. The meson
+ port is not fully complete yet, as there are some missing things in the doc
+ generation and test steps, but for system integration or development
+ purposes, the port should be fully operational. This major release, including
+ all its stable updates in the 1.18.x series, will be the last ones providing
+ support for GNU autotools. The next major release will likely be a meson-only
+ one, and will therefore not be based on a source release tarball any more,
+ but on specific git tags instead.
+
+The most important features and changes in this release are the following:
+
+ * Data session multiplexing can now be enabled in QMI and MBIM modems, e.g. so
+ that multiple different APNs can be connected separately over a single
+ network interface. The multiplexing is disabled by default in this release,
+ except for cases where it's required (e.g. if non-multiplexed sessions aren't
+ supported) like IPA based Qualcomm SoCs. Users can request the multiplexing
+ support explicitly via settings when creating the connection bearer object.
+
+ In order to allow easy testing of the multiplexing feature without requiring
+ any additional change in the stack, a new '--test-multiplex-requested' option
+ in the daemon allows to switch the default (when not explicitly given by the
+ user) to attempt to use multiplexing.
+
+ It is worth noting that when multiplexing is enabled, the data network
+ interface used by the modem will be a virtual network interface created in
+ runtime, and will therefore have a different name than the real network
+ interface exposed by the modem. If there are additional settings in the
+ system relying on the data network interface name (e.g. iptables rules), they
+ may need to be updated.
+
+ * The ModemManager daemon can run now in a 'quick suspend/resume' mode, in
+ which no explicit data disconnection is triggered on suspend, and no explicit
+ device re-probing from scratch is launched on resume. Instead, the daemon
+ will try to refresh the state of all interfaces upon suspend, e.g. to see if
+ the module keeps registered to the same operator, to see if it is still
+ connected, and so on.
+
+ This mode of operation is useful when the WWAN module stays awake while the
+ host is suspended, and can be enabled with the '--test-quick-suspend-resume'
+ option in the daemon.
+
+ * API:
+ ** New '3gppProfileManager' interface, providing operations on the list of
+ connection profiles stored in the 3GPP module. This interface is
+ implemented for all AT, QMI and MBIM protocols.
+ ** New 'DisableFacilityLock()' method in the 3GPP interface, implemented for
+ QMI and MBIM devices.
+ ** The 'MaxBearers' property is now deprecated, as it didn't provide any
+ additional information to what 'MaxActiveBearers' already provides.
+ ** New 'MaxActiveMultiplexedBearers' property, listing how many bearers can
+ be connected at the same time if multiplexing is enabled.
+ ** New settings in the bearer properties, applicable to both the
+ 'Simple.Connect()' and 'Modem.CreateBearer()' methods:
+ *** 'multiplex': which allows the user to specify whether multiplexing
+ should be avoided ('none'), whether it should be mandatory
+ ('required') or whether it should be enabled if available or skipped
+ if unavailable ('requested').
+ *** 'profile-id': which allows the user to request a connection attempt
+ with an existing profile stored in the module.
+ *** 'apn-type': which allows the user to specify the purpose of a given
+ connection, e.g. the user could create a connection to an APN
+ providing default internet connectivity and another one to an APN
+ providing access to the MMS gateway. This setting may or may not be
+ stored in the module itself, it depends on the type of module.
+ ** New 'Multiplexed' boolean property in the Bearer object, specifying
+ whether the bearer is connected through a multiplexed interface.
+ ** New 'ConnectionError' property in the bearer object, specifying the last
+ error reported by the module during a failed connection attempt or during
+ a network-initiated disconnection.
+ ** Updated the list of enum values in the MMMobileEquipmentError' type,
+ according to the error codes defined in v17.1.0 of 3GPP TS 27.007.
+
+ * Core:
+ ** iconv() features support is detected at runtime, and logged when the
+ daemon starts.
+ ** Updated the base modem object to allow plugins to specify the types of
+ data ports they support, based on the specific plugin implementations,
+ e.g. so that a modem supporting only AT+PPP can ignore NET ports and
+ vice versa.
+ ** Added support for modems exposing control ports via QRTR channels.
+
+ * Modem interface:
+ ** The Dual SIM logic that would iterate over all slots during initialization
+ is updated, so that we only report the information that we can gather
+ without any explicit slot change. E.g. with QMI we can know whether there
+ is a SIM in the non-active slot, and the ICCID of that SIM, but we cannot
+ know the MCCMNC or the operator name of the SIM unless we change to that
+ slot. We must not do slot changes arbitrarily like that, and so that logic
+ is removed, even if we lose some of the information that we were providing
+ in the interface.
+
+ * Location interface:
+ ** The multi-sentence NMEA trace support is updated to include additional
+ possible trace types in addition to GSV (e.g. ALM, GSV, RTE, SFI) and also
+ when coming from other constellations, not just GPS.
+
+ * SIM:
+ ** New 'PreferredNetworks' property and 'SetPreferredNetworks' method,
+ implemented using '+CPOL' for generic AT modems and 'NAS Get/Set Preferred
+ Networks' for QMI modems. Several different modules and plugins (e.g.
+ Sierra Wireless EM7345, Telit LN930, SIM7070, all Option and Iridium
+ devices...) have this feature explicitly disabled due to '+CPOL' not
+ behaving properly (even crashing the module sometimes).
+
+ * QMI:
+ ** The logic that decides which data mode (802.3 or raw-ip) is used in
+ modules managed by the qmi_wwan driver changes in this release. Until now,
+ if a module reported itself as configured in 802.3 mode on boot, that mode
+ would be the one used in normal operation. Due to the new multiplexing
+ feature, this is no longer true, and if possible the daemon will always
+ try to switch the module to raw-ip, and fallback to 802.3 only if raw-ip
+ is unsupported.
+ ** Enabled both AT and QMI indications for the messaging and voice interfaces
+ so that new SMS and call events are reported via both channels. This
+ solves issues seen in the Pinephone when waking up from suspend.
+ ** Enabled network reject indications.
+ ** If operator name not updated through standard indications, it will be
+ explicitly queried with 'NAS Get Plmn Name'.
+ ** Added support for transfer-route MT messages.
+ ** Increased the QMI open timeout to 45s, as required by the newest modules.
+ ** Implemented additional logic to read the status of the different facility
+ locks in the module.
+ ** Updated ICCID reading logic to parse it as hex instead of BCD.
+ ** Improved handling of the MNC PCS digit in the operations involving MCCMNC.
+ ** Automatically run the 'DPM Open Port' logic on IPA based setups to bind
+ the hardware tx/rx endpoints with the logical ones in the QMI protocol.
+ ** Implemented support for the Voice interface and its operations, not only
+ standard voice call management, but also support for the supplementary
+ services. Voice call management will be done completely using QMI, even
+ if the new call indications are notified via AT URCs.
+
+ * MBIM:
+ ** Implemented support for Dual SIM in non-QMI MBIM devices, using the
+ Microsoft Basic Connect Extensions service.
+ ** Increased the timeout for the MBIM_CID_HOME_PROVIDER query to 30s.
+ ** Updated to load model string using QMI over MBIM if available.
+ ** Increased the MBIM open timeout to 45s, as required by the newest modules.
+
+ * SMS:
+ ** Defined a common timeout of 180s for all send operations.
+
+ * libmm-glib:
+ ** Updated with new methods and types to handle all the DBus API updates.
+ ** Extended with additional methods in the Location3gpp object to get/set the
+ full operator MCCMNC string, instead of integers without MNC PCS digit
+ info.
+ ** Extended the 'ModemLocation' interface with methods to get the signaled
+ location updates; i.e. without requiring an explicit GetLocation(), and
+ obviously only supported when location signaling is explicitly enabled.
+ ** Updated the way the internal monitored properties are handled in the
+ different types, now using some handy helper macros to share the same
+ logic among all.
+
+ * Plugins:
+ ** zte: disabled CIND/CMER support.
+ ** qcom-soc: added support for QRTR+IPA based setups.
+ ** qcom-soc: added support for the WWAN subsystem instead of RPMSG.
+ ** quectel: enabled QGPSXTRA by default when starting the GNSS engine.
+ ** quectel: add support for EM120/160 PCIe modules.
+ ** quectel: added Firehose update method.
+ ** ublox: added additional URAT combinations.
+ ** ublox: flagged UBANDSEL as unsupported in the SARA-R4 and -N4 modules.
+ ** cinterion: added new custom MBIM based modem with shared reset operation.
+ ** cinterion: ignored the MBIM Intel Firmware Update service completely.
+ ** foxconn: added custom carrier config setup for the T77W968 module.
+
+The following features which were backported to 1.16.x releases are also present
+in ModemManager 1.18.0:
+
+ * core: added support for the new 'WWAN' subsystem in Linux kernel 5.13,
+ enabling PCIe-only modules.
+ * core: The charset conversion methods rework, including the avoiding of the
+ iconv() //TRANSLIT extension support, which isn't available in all libc
+ implementations.
+ * qmi: the logic managing allowed/preferred modes was fixed for multimode
+ devices like the MC7304, making sure the acquisition order preference always
+ had the same items.
+ * serial: when modem is connected with AT+PPP, ignore forced disconnections, so
+ that we don't take ownership of the PPP port before pppd has released it.
+ * foxconn: added support for the T99W175 (SDX55) module, including built-in FCC
+ unlock procedure.
+ * foxconn: added new MBIM QDU firmware update method.
+
+
+ModemManager 1.16.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version now requires:
+ ** libqmi >= 1.28.0 (for the optional QMI support)
+
+ * The 1.16.x branch will be the last one supporting the 'LEGACY' and 'PARANOID'
+ filter modes; standard distributions are advised to use the default 'STRICT'
+ mode if they aren't using it already (i.e. running the daemon without any
+ explicit '--filter-policy' option).
+
+ * A new 'qcom-soc' plugin is implemented to be able to use ModemManager in
+ Qualcomm SoCs like the MSM8916 or MSM8974. This plugin uses a combination of
+ RPMSG based control ports plus BAM-DMUX based network ports. This plugin is
+ disabled by default, even when `--enable-all-plugins` is used, and if wanted
+ it must be explicitly enabled with `--enable-plugin-qcom-soc`. Systems
+ targeting this kind of SoCs, like postmarketos, should enable it. Standard
+ distributions may or may not include it, up to the targeted hardware in each
+ distribution.
+
+ * Gentoo's 'libelogind' library may now be used to detect the systemd
+ suspend/resume support.
+
+The API is backwards compatible with the previous releases, the only updates
+are the following:
+
+ * Modem interface:
+ ** Updated the 'Ports' property so that it exposes all ports that are
+ owned by the modem even if they are explicitly ignored and not used.
+ ** New 'SimSlots' property that exposes the available SIM slots in the modem,
+ including the SIM object paths in each of them if the cards are present.
+ ** New 'PrimarySimSlot' property indicating which of the slots in the
+ 'SimSlots' array is the one currently active.
+ ** New 'SetPrimarySimSlot' method to select which SIM slot in the 'SimSlots'
+ array should be considered active. When the switch happens, the modem will
+ be fully re-probed.
+
+ * Signal interface:
+ ** New 'Nr5g' dictionary property including signal information for the 5GNR
+ access technology.
+
+ * SIM interface:
+ ** New 'Active' boolean property, indicating whether the SIM object is the
+ currently active one.
+ ** New 'Eid' string property, indicating the EID of the card, if any.
+
+ * New udev tags:
+ ** New 'ID_MM_PORT_TYPE_QMI' tag to explicitly flag a port as being QMI, when
+ there is no other way to guess the type of port; e.g. this tag is not
+ needed for ports exposed by the qmi_wwan driver.
+ ** New 'ID_MM_PORT_TYPE_MBIM' tag to explicitly flag a port as being MBIM,
+ when there is no other way to guess the type of port; e.g. this tag is not
+ needed for ports exposed by the cdc_mbim driver.
+
+The most important features and changes in this release are the following:
+
+ * Implemented support for Multi SIM Single Standby support, for systems that
+ have multiple SIM slots and they can select which of them (only one) is
+ active at any given time. Currently implemented for QMI modems only.
+
+ * If the modem enabling phase fails in a fatal way, an implicit disabling
+ sequence is now run, in order to avoid leaving the modem in an inconsistent
+ state.
+
+ * If the connection attempt includes user/password information but no explicit
+ authentication type, CHAP will now be used by default instead of PAP.
+
+ * Full USB device removal events reported via udev are no longer used. The
+ device removal logic relies exclusively on independent port removal events,
+ as that logic is supported for all subsystems and kernel device backends
+ (e.g. also working for non-USB devices and for systems without udev like
+ OpenWRT).
+
+ * Added support to monitor the 'rpmsg' subsystem, but only in plugins that
+ explicitly require its use (e.g. the 'qcom-soc' plugin).
+
+ * New options in the ModemManager daemon:
+ ** Added new '--test-no-suspend-resume' option to disable the runtime
+ suspend/resume support even if the daemon was built with it.
+ ** Added new '--test-no-udev' option to disable the runtime udev support even
+ if the daemon was built with it.
+
+ * Serial:
+ ** Also match OK or ERROR responses that are not at end of line.
+
+ * SIM:
+ ** Force reprobing the modem if a new SIM is detected in a modem that
+ initially started in Failed state without SIM.
+ ** Force reprobing the modem if the lock status cannot be read after sending
+ SIM-PUK, so that it transitions to the Failed state.
+ ** Force reprobing the modem if a PUK lock is discovered after sending
+ SIM-PIN, so that it transitions to the Failed state.
+
+ * QMI:
+ ** The logic no longer depends on the service version reported by each
+ client, the support for each feature is explicitly probed instead.
+ ** Implemented SIM profile (eUICC) change detection.
+ ** Support for QMI modems on kernels < 3.6 is dropped. Only kernels where the
+ QMI control ports are exposed in the 'usbmisc' subsystem are supported.
+ ** Implemented additional step in the connection logic to allow binding the
+ WDS client to a given SIO port, required in the BAM-DMUX driver setup.
+ ** Implemented support for the initial EPS bearer settings logic.
+ ** Disabled explicit signal and access technology polling if indications have
+ been correctly enabled.
+
+ * MBIM:
+ ** Enable SIM hot swap detection logic with QMI over MBIM.
+ ** Allow plugins to specify explicitly that QMI over MBIM is not supported.
+
+ * libmm-glib:
+ ** Added missing APIs to get/set RM protocol in the Simple connect settings.
+
+ * Plugins:
+ ** gosuncn: new plugin, for now just with port type hints for the GM800.
+ ** quectel: implemented GPS support with +QGPS.
+ ** quectel: implemented custom time support check to prefer +CTZU=3 instead
+ of +CTZU=1 so that the modem reports localtime instead of UTC in +CCLK.
+ ** sierra: added support for XMM-specific features (e.g. EM7345).
+ ** cinterion: implemented support for the initial EPS bearer settings logic.
+ ** cinterion: added SIM hot swap support to AT-based modems.
+ ** huawei: updated to avoid applying multiple port type hint methods.
+ ** huawei: updated the ^GETPORTMODE logic so that we don't assume the hints
+ in the response apply to specific USB interfaces.
+
+The following features which were backported to 1.14.x releases are also present
+in ModemManager 1.16.0:
+
+ * location: allow CID only updates.
+ * sms: allow sending/receiving UTF-16 as if it were UCS-2.
+ * modem: don't consider charset setup failure as fatal.
+ * QMI: fix reporting signal strength indications.
+ * QMI: fix parsing of USSD indications with UTF-16 data.
+ * QMI: run network registration with NAS Set System Selection Preference.
+ * QMI: when connection aborted, ensure network handles are released.
+ * MBIM: don't fail IPv4v6 connection attempt if only IPv4 succeeds.
+ * cinterion: improve user/password handling in AT^SGAUTH calls.
+ * cinterion: removed limitation to IPv4 only PDP contexts.
+ * cinterion: configure the PLAS9 to send URCs correctly.
+ * quectel: add support for MBIM devices.
+ * telit: add initial delay for AT ports to become responsive.
+ * udev: updated all AT/QCDM/GPS port type hints in all plugins to bind them to
+ TTY ports only.
+
+
+ModemManager 1.14.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version requires:
+ ** GLib/GObject/GIO >= 2.48.0
+ ** libmbim >= 1.24.0 (for the optional MBIM support)
+ ** libqmi >= 1.26.0 (for the optional QMI support)
+
+ * Build updated with several improvements:
+ ** The build has been updated to use by default all warnings enabled by
+ AX_COMPILER_FLAGS(), and therefore when building the release from a git
+ checkout, autoconf-archive >= 2017.03.21 is now required. This new build
+ dependency isn't required when building from the release tarball.
+ ** Also when building from a git checkout, beware because by default
+ --enable-compile-warnings=error is enabled, which implies -Werror. If
+ you'd like to build from git and avoid -Werror, you should explicitly use
+ --enable-compile-warnings=yes (to keep the warnings but without being
+ errors), --enable-compile-warnings=no (to disable all the extra warnings
+ enabled by default) or --disable-Werror (to unconditionally make all
+ compiler warnings non-fatal).
+ ** Users can now preselect which plugins to build and install during
+ configure, with the --enable-plugin-[PLUGIN-NAME] options. The user can
+ also build and install all except for some, just by using the
+ --enable-all-plugins option followed by --disable-plugin-[PLUGIN-NAME].
+ By default all plugins are enabled, so all of them built and installed.
+ This new set of options are useful for users building custom systems
+ where they already know what kind of devices they're going to have, it
+ isn't recommended for standard distributions.
+
+The only updates in the public API are the following:
+
+ * Modem interface:
+ ** Added support for AT-based and/or QMI-based 5G devices, which will report
+ the new MM_MODEM_CAPABILITY_5GNR capability.
+ ** Deprecated the MM_MODEM_CAPABILITY_LTE_ADVANCED capability, as it was
+ never used in any implementation.
+
+ * Bearer interface:
+ ** Added additional 'attempts', 'failed-attempts', 'total-rx-bytes',
+ 'total-tx-bytes' and 'total-duration' values in the 'Stats' property
+ exposed by the Bearer objects.
+
+The most important features and changes in this release are the following:
+
+ * The daemon switched to 'STRICT' filter mode by default. The old 'DEFAULT'
+ mode is renamed to 'LEGACY' and is considered now deprecated. Under the
+ 'STRICT' filter mode, the TTY blacklist and greylist are ignored, and the
+ port probing mechanism uses its own heuristics to guess whether a given TTY
+ is owned by a modem or not.
+
+ * Added a new implicit whitelist rules applicable in 'STRICT' filter mode, so
+ that all devices with a USB vid matching one of the vids allowed by the
+ different installed plugins are implicitly allowed.
+
+ * Updated daemon logging so that we always prefix the messages with a string
+ identifying which modem the log refers to, making it easy to grep logs for
+ one specific device if the system has more than one.
+
+ * Updated the probing logic to make sure we don't attempt a re-probe when the
+ device is gone.
+
+ * Probing logic now allows new ports detected up to 1500ms since last port
+ added, useful on OpenWrt setups where ports are notified one by one via
+ hotplug events.
+
+ * AT:
+ ** Moved the charset definition logic to the initialization phase instead of
+ the enabling phase, because the feature support checks may already require
+ string processing based on the current charset.
+ ** Updated manual registration operation to attempt using current charset
+ (e.g. UCS2) if ASCII fails.
+
+ * QMI:
+ ** Devices using the LOC service for GNSS will now also setup the list of
+ required NMEA traces before starting the engine.
+ ** Implemented 3GPP USSD support using the Voice service.
+ ** Update carrier code if registration changes from one roaming operator to
+ another.
+ ** Explicitly disable autoconnect during modem enabling phase, because it
+ interferes with our connection management logic.
+ ** Fallback to raw-ip if WDA Get Data Format requests arguments, as in most
+ new 5G devices.
+ ** Updated to always use the asynchronous close() operation.
+ ** Handle disconnection indications during connection attempts.
+
+ * MBIM:
+ ** Update carrier code if registration changes from one roaming operator to
+ another.
+ ** Implement reset in Intel-based and Qualcomm-based devices.
+ ** Avoid LTE attach config/status if unsupported.
+ ** Updated to make sure all allocated QMI CIDs are released during shutdown.
+
+ * SIM interface:
+ ** Don't allow sending PIN/PUK if not required.
+
+ * 3GPP interface:
+ ** Fixed manual re-registration to the same operator.
+
+ * CDMA interface:
+ ** Don't allow multiple concurrent activation attempts.
+ ** Disallow empty carrier code in automatic activation.
+
+ * Bearer interface:
+ ** Updated to avoid connection checks or stats updates while disconnecting.
+
+ * libmm-glib:
+ ** New 'mm_location_gps_nmea_get_traces()' method to retrieve a NULL
+ terminated array of strings with all cached NMEA traces.
+ ** Deprecated the 'mm_location_gps_nmea_build_full()' method.
+
+ * mmcli:
+ ** Added a new 'any' lookup keyword for the --modem and --sim options, useful
+ when the system is only expected to have one single device.
+
+ * Plugins:
+ ** broadmobi: new plugin, right now just with port type hints for the BM818.
+ ** foxconn: new plugin to support the T77W968 (both with and without eSIM).
+ ** dell,dw5821e: added support for the DW5821e with eSIM variant.
+ ** huawei: don't delay reporting network initiated disconnects.
+ ** huawei: try to read port type hints from interface descriptions.
+ ** huawei: avoid using the QCDM port during a voice call.
+ ** cinterion: skip sim ready check for modules that don't support it.
+ ** cinterion: implemented radio/band handling for LTE modems.
+ ** cinterion: added Signal interface support bsaed on AT^SMONI.
+ ** cinterion: added support for MBIM based devices like the PLS62-W.
+ ** quectel: updated to detect SIM hot swap via +QUSIM URCs.
+ ** fibocom: added support for QMI based devices like the FM150.
+ ** ublox: ignore error when disconnecting last LTE bearer.
+ ** ublox: implement support to enable and detect +UUDTMF URCs.
+ ** ublox: added blacklist rules for GPS modules in the plugin itself.
+ ** sierra: implement manual and automatic CDMA activation.
+ ** novatel: implement manual and automatic CDMA activation.
+
+All the features and fixes which were backported to 1.12.x releases are also
+present in ModemManager 1.14.0.
+
+
+ModemManager 1.12.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version requires:
+ ** libmbim >= 1.18.0 (for the optional MBIM support)
+ ** libqmi >= 1.24.0 (for the optional QMI support)
+
+ * The build allows to configure with '--with-at-command-via-dbus' in order to
+ unconditionally enable the Modem.Command() method to allow running AT
+ commands through ModemManager. This is not suggested for standard
+ distributions, though.
+
+The most important features and changes in this release are the following:
+
+ * Modem interface:
+ ** Updated logic to avoid assuming that setting bands or modes is immediate,
+ the daemon will now actively monitor for those updates to happen before
+ returning success.
+
+ * 3GPP interface:
+ ** libmm-glib: deprecated the mm_pco_list_free() helper method.
+
+ * Simple interface:
+ ** api,libmm-glib: deprecated the 'subscription state' property.
+
+ * Location interface:
+ ** Fixed 'unknown' lat/long/alt numeric values.
+ ** Added support for MSB A-GPS in addition to MSA A-GPS.
+
+ * Voice interface:
+ ** Improved voice call management with call id detection and tracking.
+ ** Improved detailed call state transitions on generic modems that support
+ call list polling.
+ ** Added support for GSM supplementary services, including call waiting,
+ call transfer, call deflection, multiparty calls...
+ ** Added emergency call support, allowing voice call to emergency numbers
+ even without SIM or with SIM-PIN locked.
+ ** Deprecated all properties except for 'number' in the CreateCall()
+ method.
+
+ * Messaging interface:
+ ** Updated to report SMS timestamps in correct ISO8601 format.
+
+ * Bearer:
+ ** Improved unused CID lookup to allow selecting non-sequential CIDs.
+ ** Disabled all AT protocol based context monitoring when PPP is used for
+ the connection, in order to properly sync with pppd, which should be the
+ one detecting the disconnections (already in 1.10.6).
+
+ * QMI:
+ ** Improved support to list stored firmware images in Sierra devices.
+ ** Added additional lock check retries on 'SIM not inserted' errors.
+ ** Updated explicit registration attempt to report success only when the
+ target requested network is registered.
+ ** Added MSB A-GPS support.
+ ** Implemented automatic carrier configuration selection using PDC service
+ (already in 1.10.2).
+
+ * mmcli:
+ ** New machine-readable JSON output with '--output-json'.
+ ** Updated to allow using the modem UID to specify SIM operations.
+
+ * udev:
+ ** New ID_MM_PORT_TYPE_AUDIO generic udev tag to identify ports that
+ should be used for in-band audio.
+ ** Removed support for the ID_MM_PLATFORM_DRIVER_PROBE udev tag, as it
+ is no longer required given that the more generic explicit whitelist
+ may be used to flag which devices should be probed.
+ ** Renamed ID_MM_DEVICE_MANUAL_SCAN_ONLY to ID_MM_TTY_MANUAL_SCAN_ONLY,
+ given that the tag only applies to TTYs.
+ ** ID_MM_DEVICE_IGNORE is no longer used internally in ModemManager, and
+ is instead targeted to users that want to explicitly ignore specific
+ devices regardless of what filter type is in use (already in 1.10.6).
+
+ * dbus:
+ ** Updated to always report the registered MM_CORE_ERROR_CANCELLED error
+ instead of the implicit G_IO_ERROR_CANCELLED ones generated by GLib.
+
+ * GObject introspection:
+ ** Fixed setup to explicitly skip all non-API methods.
+
+ * Plugins:
+ ** tplink: new plugin.
+ ** dlink: new plugin.
+ ** xmm: added MSB A-GPS support.
+ ** dell,dw5821e: update to allow unmanaged GPS support on the TTY even
+ when raw/NMEA GPS is enabled via QMI/LOC.
+ ** quectel: updated to allow TTY-only devices.
+ ** telit: added GPS support.
+ ** telit: improved band management with #BND.
+ ** simtech: added improved voice call support.
+ ** simtech: added support for LTE devices.
+ ** simtech: improved signal quality reporting logic.
+ ** simtech: added GPS support for the SIM7000/SIM7600 family.
+ ** cinterion: added support for time updates.
+ ** cinterion: added improved voice call support.
+ ** ublox: added improved voice call support.
+ ** ublox: improved band management with UBANDSEL.
+
+All the features and fixes which were backported to 1.10.x releases are also
+present in ModemManager 1.12.0.
+
+
+ModemManager 1.10.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version requires:
+ ** libmbim >= 1.18.0 (for the optional MBIM support)
+ ** libqmi >= 1.22.0 (for the optional QMI support)
+
+The most important features and changes in this release are the following:
+
+ * udev:
+ ** Consolidated common tag names among all the supported plugins. E.g.
+ ID_MM_PORT_TYPE_GPS, ID_MM_PORT_TYPE_AT_*, ID_MM_PORT_TYPE_QCDM...
+ All these generic tags are included as symbols in the API, and
+ compatibility will be maintained for these. Custom setups of
+ ModemManager relying on previously available per-plugin udev tags may
+ need to manually port them to this new generic subset.
+ ** New tag to allow specifying flow control settings to use in serial ports.
+
+ * Core:
+ ** Avoid probing other protocols on TTYs tagged in udev with specific port
+ type tags (e.g. avoid probing QCDM if a port is tagged as AT). This allows
+ faster port probing and modem detection for known modem layouts.
+ ** Implemented support to enable and handle +CGEV URCs for asynchronous
+ connection state updates in AT-controlled devices.
+
+ * Manager interface:
+ ** New runtime daemon version reporting.
+ ** New support for requesting device inhibition, e.g. so that ModemManager
+ stops completely using a modem device until the inhibition is released.
+ This feature is implemented to allow fwupd taking over of a device
+ completely for as long as it needs during a firmware update.
+
+ * Modem interface:
+ ** All methods are always connected, even in Failed state.
+ ** Allow parallel Enable()/Disable() calls.
+ ** Deprecated redundant ListBearers() method, the read-only Bearers property
+ is already showing the same information.
+
+ * Bearer interface:
+ ** New 'BearerType' property, e.g. to specify whether a bearer is the initial
+ LTE default bearer or not.
+ ** Deprecated 'number' field in bearer settings. Applications do not need to
+ send the 'number' field in Bearer.Connect() or in Modem.Simple.Connect(),
+ as the setting is totally ignored.
+
+ * mmcli:
+ ** New 'key-value' output, easier to parse by scripts than the default.
+ ** Removed redundant '--location-get-XXX' actions, as the '--location-get'
+ already reports the location information for all sources.
+ ** Removed redundant '--simple-status' action, as the same information can be
+ obtained through different mmcli operations.
+ ** New manager '--inhibit-device' action and modem-specific '--inhibit', to
+ allow requesting device inhibition.
+
+ * 3GPP interface:
+ ** New support for exposing the network reported Protocol Configuration
+ Options (PCO), to be used instead of the new deprecated Subscription
+ State property.
+ ** New support for exposing the initial LTE default bearer status.
+ ** New support for configuring the initial LTE default bearer settings.
+
+ * Location interface:
+ ** New LTE Tracking Area Code (TAC) in 3GPP location information.
+ ** New support for injecting assistance data (e.g. Qualcomm XTRA) into the
+ GNSS engine, useful when there is no mobile connection to use MSA A-GPS.
+
+ * Firmware interface:
+ ** Support for reporting firmware update support properties, e.g. specifying
+ which update methods are supported. This information will be consumed by
+ fwupd in order to allow upgrading firmware in devices managed by
+ ModemManager.
+
+ * Voice interface:
+ ** Multiple improvements and fixes in the voice call management logic
+ implemented with generic AT commands.
+ ** Added AudioPort and AudioFormat properties to the Call object.
+ ** Added new generic audio channel setup/cleanup handlers in the Call object.
+
+ * QMI:
+ ** New LOC service based GNSS support, including A-GPS setup via SUPL server.
+ ** New support for the "extended" LTE band list.
+ ** New support for reading IMSI and ICCID with the UIM service.
+
+ * MBIM:
+ ** Implemented support for processing Protocol Configuration Options using
+ Microsoft-defined Basic Connect Extensions.
+ ** Implemented support for LTE attach status and configuration using
+ Microsoft-defined Basic Connect Extensions.
+ ** Implemented support for the extended signal interface and for 3GPP location
+ details using the AT&T specific service.
+ ** Implemented support for 3GPP USSD operations using the standard USSD
+ service.
+ ** For Qualcomm-based MBIM devices, those with QMI-over-MBIM support, a whole
+ new set of features is now available, including: QMI LOC/PDS location
+ support, allowed/preferred mode management, frequency band selection,
+ power management operations...
+
+ * Plugins:
+ ** xmm: new XMM plugin, with shared logic (allowed/preferred mode management,
+ frequency band selection, power management operations, extended signal
+ quality reporting, GPS/A-GPS...) for Intel XMM based devices.
+ ** fibocom: new plugin, with support for generic MBIM and XMM-based devices.
+ ** dell: added support for XMM-based devices, like the DW5820e.
+ ** dell: added custom support for the DW5821e, including 'unmanaged' GPS and
+ firmware update integration details.
+ ** cinterion: new shared interface to include all logic shared between Option
+ and Option/HSO devices.
+ ** sierra-legacy: implemented connection monitoring support.
+ ** u-blox: added support for extended call state transitions.
+ ** u-blox: added CDC-ECM support for SARA/LISA-U2xx modems.
+ ** altair-lte: migrated from SubscriptionState to PCO.
+
+All the features and fixes which were backported to 1.8.x releases are also present
+in ModemManager 1.10.0.
+
+
+ModemManager 1.8.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+The following notes are directed to package maintainers:
+
+ * This version requires:
+ ** GLib 2.36.0
+ ** gettext 0.19.8 (for the optional rebuild of documentation)
+ ** libmbim >= 1.16.0 (for the optional MBIM support)
+ ** libqmi >= 1.20.0 (for the optional QMI support)
+ ** libsystemd >= 209 or libsystemd-login >= 183 (for the optional suspend
+ and resume support)
+ ** libsystemd >= 209 (for the optional systemd journal support)
+ ** polkit >= 0.97 (for the optional PolicyKit support)
+
+ * This version no longer requires:
+ ** intltool (replaced by new features in gettext)
+
+ * Distributions using systemd should explicitly use the following configure
+ options:
+ ** '--with-systemd-suspend-resume': the only supported source for suspend and
+ resume events is now systemd, so the previous '--with-suspend-resume=[]'
+ option was renamed.
+ ** '--with-systemd-journal' to use the new journal support.
+
+ * Distributions wanting to avoid ModemManager poking TTY ports that isn't
+ supposed to touch may start using the new 'STRICT' filter policy, given
+ as an option to the ModemManager daemon (e.g. patching the default systemd
+ service file provided). See below for more info about the filter policy and
+ the side effects of using the STRICT approach:
+ ** E.g. ModemManager --filter-policy=STRICT
+
+The most important features and changes in this release are the following:
+
+ * New 'filter policy' setting in the ModemManager daemon to decide which ports
+ are probed and how. Currently these levels are defined:
+ ** WHITELIST-ONLY: Only devices or ports explicitly whitelisted with the new
+ 'ID_MM_DEVICE_PROCESS' udev tag are probed.
+ ** DEFAULT: All ports are allowed to be probed except for the ones explicitly
+ greylisted as RS232 adapters or completely blacklisted. This is the
+ default approach that was used until now, and the default as well in this
+ release if a different one isn't requested.
+ ** STRICT: The daemon defines a set of heuristics to try to detect modems and
+ ports to probe. Only the TTY ports that are very very likely to be modem
+ ports are probed, therefore completely avoiding the need of having a
+ separate blacklist or RS232 adapter greylist. But note that this policy
+ may end up ignoring some devices, like TTY controlled modems without an
+ associated network port.
+ ** PARANOID: This is equivalent to running the STRICT mode but also applying
+ the blacklist and RS232 greylist filters explicitly.
+
+ * Device 'naming'. This release includes logic to allow 'naming' devices with
+ the ID_MM_PHYSDEV_UID udev tag, so that the names can then be used in e.g.
+ mmcli and also exposed in the 'Device' property in the Modem interface. This
+ new setup makes it possible to give the devices unique names that are kept
+ across reboots.
+
+ * Allow skipping the automatic scan for devices in the daemon with the new
+ '--no-auto-scan' daemon option. Instead, the daemon may be called with the
+ '--initial-kernel-events=[PATH]' option including a predefined list of ports
+ or otherwise get the port additions reported during runtime with the
+ mmcli --report-kernel-event=[] command.
+
+ * Allow building and running without 'udev'. In this setup, the previously
+ explained '--no-auto-scan' is enabled by default, so ports are not
+ automatically detected .Note that this setup is not suggested for standard
+ distributions: if udev is available in the system, it is the preferred method
+ to manage the port addition and removal.
+
+ * SIM hot swap. The core includes the needed logic to support SIM hot swap in
+ the different devices, although for now it's only tested for Telit and MBIM
+ modems. If a SIM hot swap is detected, the modem is flagged as failed and
+ reprobed from scratch.
+
+ * Connection status monitoring logic. In order to try to detect network
+ initiated disconnections, a generic setup is provided to plugins so that they
+ can implement explicit connection status checks that would be executed
+ periodically.
+
+ * New support for 3GPP CSFB states and operation modes. We now support
+ registration states reported as "SMS only" or "CSFB not preferred", and
+ provide APIs to set and get the "UE mode of operation for EPS".
+
+This version comes with the following new features:
+
+ * Build and system:
+ ** Updated the systemd service file with additional security related rules.
+ ** Added support for systemd journal logging.
+ ** Updated most of the code to use GTask instead of the deprecated
+ GSimpleAsyncResult based operations.
+ ** ChangeLog is built from git during the dist tarball generation.
+
+ * New translations: Polish, Brazilian Portuguese, Slovak, Hungarian, Czech,
+ Ukrainian, Swedish and Indonesian.
+
+ * API:
+ ** Defined additional GSM, UMTS and LTE frequency bands.
+ ** The MMModemBand enumeration values (EUTRAN, UTRAN and CDMA) have been
+ renamed to consolidate how they are defined. A compatibility layer has
+ been provided to avoid breaking the API.
+ ** New 'HardwareRevision' property in the Modem interface.
+ ** New 'EpsUeModeOperation' property and 'SetEpsUeModeOperation' method in
+ the Modem 3GPP interface.
+
+ * Core:
+ ** Updated libqcdm to load signal strength from QCDM EVDO Pilot Sets.
+ ** Updated udev rules with new per-vendor rules for quicker processing.
+ ** Explicitly ignored ports are never probed now, but they will be reported
+ as owned by the device and exposed in the Ports property.
+ ** New 'ID_MM_TTY_BAUDRATE' udev tag to specify the baudrate to use in RS232
+ TTY ports.
+ ** If using UCS2, still assume that the operator name may be given in ASCII.
+ ** Explicitly open QCDM ports anytime it's needed, instead of assuming they
+ are open when enabled.
+ ** Query supported ME event reporting options and automatically set the best
+ choice based on the supported ones.
+ ** Query supported flow control modems and automatically set the best choice
+ based on the supported ones.
+ ** Explicitly configure flow control settings on the TTY as soon as it is
+ connected, only applicable for RS232 devices.
+ ** Implemented generic unlock retries loading.
+
+ * MBIM:
+ ** Explicitly reprobe the modem when the mbim-proxy is detected dead.
+ ** Workaround implemented to keep track of the PIN1 unlock retries as the
+ protocol isn't very good allowing this.
+ ** Load and expose HW revision.
+
+ * QMI:
+ ** Explicitly reprobe the modem when the qmi-proxy is detected dead.
+ ** Load and expose HW revision.
+ ** Detect port closed and forbid client allocation operations.
+ ** New optional connection status monitoring support, enabled by default for
+ the Netgear AC341U.
+
+ * Location interface:
+ ** Disabled by default for MBIM modems.
+
+ * Messaging interface:
+ ** Try decoding with UTF-16BE when UCS-2 reported.
+
+ * Plugins:
+ ** u-blox: new plugin, currently supporting the TOBY-L2, TOBY-L4, TOBY-R2,
+ LARA-R2 and LISA-R2.
+ ** quectel: new plugin, supporting generic AT/QMI based modems.
+ ** cinterion: implemented support for devices exposing a WWAN network
+ interface.
+ ** cinterion: support changing modes in LTE capable devices.
+ ** cinterion: added GPS support for devices controlled only with AT^SGPSC.
+ ** cinterion: use ^SIND unsolicited messages for access tech reporting.
+ ** huawei: implemented Signal interface.
+ ** telit: added support for RS232, QMI and MBIM modems.
+ ** novatel: cleaned up registration state and access tech reporting.
+ ** novatel-lte: implemented unlock retries loading.
+ ** dell: speed probing time up and reduce udev dependency.
+ ** mbm: added GPS support for the Dell DW5560.
+
+The following features which were backported to 1.6.x releases are also present
+in ModemManager 1.8.0:
+
+ * Build and System:
+ ** Explicitly use -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_36 and
+ -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_36 so that we don't get warnings
+ for GLib features that are flagged as deprecated in newer versions.
+ ** Dropped After=syslog.target rule in systemd service file.
+ ** Added all ModemManager udev tags also in "bind" events.
+
+ * Core:
+ ** Improved detection of 4G-only modems.
+ ** TTY is set as connected as soon as ATD replies.
+ ** Removed the default ID_MM_PLATFORM_DRIVER_PROBE whitelist.
+
+ * Signal interface:
+ ** Report RSCP if available.
+ ** New generic implementation of the Signal interface in AT-based devices
+ using AT+CESQ.
+
+ * QMI:
+ ** Run FCC auth sequence if "InvalidTransition" is reported when going
+ online.
+ ** Added WDS reporting event support.
+
+ * Plugins:
+ ** huawei: let the E3372 run NDISDUP via TTY (when the exposed cdc-wdm is
+ non-functional).
+ ** telit: added support for the GE910.
+
+ModemManager 1.6.0
+-------------------------------------------
+This is a new stable release of ModemManager.
+
+ * This version requires:
+ ** GLib 2.36.0
+ ** gettext 0.19.3
+ ** libmbim >= 1.14.0 (for the optional MBIM support)
+ ** libqmi >= 1.16.0 (for the optional QMI support)
+ ** libsystemd >= 209 or libsystemd-login >= 183 (for the optional suspend
+ and resume support)
+
+ * For distributions using systemd, it is suggested that the new optional
+ suspend/resume is explicitly requested during configure with the new
+ '--with-suspend-resume=systemd' argument.
+
+This version comes with the following new features:
+
+ * Core:
+ ** Implemented support for suspend/resume detection, currently working
+ when systemd is in use. Whenever the system is suspended, we'll flag the
+ modems as invalid so that they are re-probed from scratch when the system
+ is resumed.
+ ** Added cancellation support for the probing operations.
+ ** Reworked and simplified the serial port response processing.
+
+ * Location interface:
+ ** Added A-GPS support, currently available only for QMI based modems with
+ PDS service.
+ ** Added support for updating the default GPS refresh time.
+
+ * Time interface:
+ ** New default implementation for all AT-based modems.
+
+ * Voice interface:
+ ** New DBus interface to allow the management of voice calls, which currently
+ assumes that the audio channel is setup out of ModemManager.
+
+ * Bearer:
+ ** New support for reporting statistics of the ongoing connection with a new
+ 'Stats' property, currently available for QMI and MBIM based modems.
+
+ * QMI:
+ ** Implemented support for devices which only work in "raw IP" mode, like
+ the Sierra MC7455.
+ ** Implemented support for SIM related operations using the UIM service, as
+ newer modems with multi-SIM capabilities don't suppor the legacy DMS UIM
+ operations.
+ ** Implemented support for detecting network-initiated disconnections.
+
+ * MBIM:
+ ** If online mode fails, try to use the 'DMS Set FCC Authentication' QMI
+ message via the QMI-over-MBIM support, if supported by the device.
+
+ * udev:
+ ** Added new supported 'ID_MM_PORT_IGNORE' tag to allow fully ignoring ports
+ specified by the user.
+
+ * mmcli:
+ ** Added command completion.
+ ** Added new operations to use the Voice interface.
+ ** Added new operations to manage the A-GPS settings.
+
+ * Build:
+ ** Added code coverage support.
+
+ * Plugins:
+ ** haier: new plugin to support the Haier CE81B.
+ ** thuraya: new plugin for Thuraya satellite modems.
+ ** sierra-legacy,sierra: the implementation for Sierra modems is now split
+ into two different plugins: a 'legacy' one for the old PPP and DirectIP
+ based modems and the standard one for the newer QMI and MBIM based ones.
+ ** dell: new plugin for Dell rebranded devices from Novatel, Sierra or
+ Ericsson.
+ ** gobi: removed the plugin. All non-vendor specific QMI devices should now
+ be managed by the generic plugin.
+ ** mbm: dynamically load the list of supported modes.
+ ** mbm: fixed several connection/disconnection issues.
+ ** simtech: support QMI devices.
+ ** huawei: implemented Voice call management support.
+ ** huawei: use static IP addressing in NDISDUP capable devices if the AT^DHCP
+ response provides the IP details.
+
+The following features which were backported to 1.4.x releases are also present
+in ModemManager 1.6.0:
+
+ * MBIM:
+ ** The mbim-proxy is used by default.
+ ** Implemented support for disconnection status notification while connected.
+ ** Disabled CDMA capabilities, until properly supported.
+
+ * QMI:
+ ** The qmi-proxy is used by default.
+ ** If online mode fails, use 'DMS Set FCC Authentication', required by some
+ rebranded Sierra modems (e.g. Dell branded ones).
+ ** Implemented support for loading SIM operator id and name.
+ ** Implemented power-cycle reset functionality.
+
+ * Plugins:
+ ** telit: added support for new devices, like HE910, UE910 and UL865.
+ ** telit: implemented dynamic port identification.
+ ** telit: implemented unlock retries loading.
+ ** telit: implemented supported/current bands management.
+ ** telit: implemented supported/current modes management.
+ ** telit: implemented modem reset and power down.
+ ** mbm: implemented GPS support for Ericsson HS2350 and H5321gw modems.
+
+
ModemManager 1.4.0
-------------------------------------------
This is a new stable release of ModemManager.