| |
| ModemManager 1.22.0 |
| ------------------------------------------- |
| This is a new stable release of ModemManager. |
| |
| The following notes are directed to package maintainers: |
| |
| * This version now requires: |
| ** libmbim >= 1.30.0 (for the optional MBIM support) |
| ** libqmi >= 1.34.0 (for the optional QMI support) |
| |
| * The GNU autotools (autoconf/automake/libtool) support has been fully |
| removed, this release requires the use of the meson build system. |
| |
| * Build: |
| ** Flag types are now generated in their own files (e.g. 'mm-flags-types.h'). |
| ** A new 'fuzzer' option is available to build LLVM LibFuzzer based unit |
| testers. |
| ** A new 'builtin_plugins' option is available to integrate all built plugins |
| within the ModemManager daemon binary. This makes the daemon load much |
| quicker as it doesn't dynamically load the plugins on runtime. |
| |
| The most important features and changes in this release are the following: |
| |
| * A new "MSG" (message) log verbosity level is introduced, which is also the |
| new default one if none explicitly defined. This level takes the place of the |
| old "INFO" level, as a level including the most important messages that should |
| be logged without needing to be warnings or errors. The new "INFO" level is |
| more verbose than "MSG" but less verbose than "DBG", and may be useful as |
| default in systems where active debugging of WWAN related issues is required. |
| E.g. all user operations triggered via DBus method calls are logged in "INFO" |
| level. |
| |
| * Introduced the concept of "personal information" which should by default not |
| be included in log messages. Enabling personal information in logs requires |
| to run the daemon with the '--log-personal-info' option. This feature is |
| mostly implemented for QMI and MBIM specific logs, but hasn't yet been |
| included in generic daemon logs or when using the AT protocol. Changes and |
| fixes related to this feature will be cherry-picked and included in the |
| future stable branch updates. |
| |
| * API: |
| ** Added new 'Modem.Physdev' property to unconditionally publish the physical |
| modem device path. |
| ** Updated the 'Modem.GetCellInfo()' method to include serving cell type and |
| bandwidth information in LTE and 5GNR cells. |
| ** New 'Modem3gpp.SetCarrierLock()' method to send the list of carrier |
| network information to the modem. |
| ** The 'SetLogging()' method allows a new "MSG" log level. |
| |
| * Core: |
| ** The codebase has been updated to use GTask in all operations and there are |
| no longer any deprecated methods from GLib being used. |
| ** The port probing logic is now able to guess port type hints during |
| runtime, e.g. based on the kernel driver in use or the wwan subsystem port |
| 'type' attributes. |
| ** Default probing and wait times have been increased, in order to cope with |
| slow kernel events reporting new port additions. |
| |
| * Modem interface: |
| ** Updated the logic loading unlock retries to allow restarting the check |
| count based on the state reported by the device (e.g. if the SIM is |
| detected but not fully ready during the last expected check, a new set |
| of check retries is allowed). |
| |
| * 3GPP interface: |
| ** Added support for packet service state updates via unsolicited |
| indications. |
| ** Added support for ignoring registration and packet service state updates |
| if the interface has already been disabled. |
| ** Updated initialization sequence to allow showing IMEI even if the device |
| is locked. |
| ** Logged available profiles in "INFO" level whenever they are listed. |
| |
| * Simple interface: |
| ** Logged user provided settings during a connect attempt in "INFO" level. |
| ** Added support to abort an ongoing connect operation at any step in the |
| state machine, e.g. if the modem is going to be disabled. |
| ** Added support to explicitly request attaching to packet service during |
| the connection attempt. |
| |
| * Signal interface: |
| ** Added logic to rate-limit printing the extended signal information with |
| "INFO" level, even if the actual refresh rate is higher. |
| |
| * New udev tags: |
| ** The 'ID_MM_REQUIRED' port-specific udev tag allows users to specify that |
| the modem must be able to succesfully probe and use the given control |
| port. |
| ** The 'ID_MM_MAX_MULTIPLEXED_LINKS' udev tag allows user to specify the |
| maximum amount of multiplexed links the modem supports. This tag may be |
| set to 0 to fully disable multiplexing support in the device. |
| |
| * mmcli: |
| ** New '--messaging-create-sms-with-text' action to create a text SMS from |
| the contents of a given file. |
| ** New '--3gpp-set-carrier-lock' action to send the carrier lock data to the |
| device. |
| ** Updated '--modem' to always allow using the modem physdev path for lookup. |
| |
| * SMS: |
| ** Improved the parsing of 3GPP and CDMA SMS parts, fixing multiple different |
| errors that lead to unexpected crashes on SMS reception. |
| |
| * MBIM: |
| ** Updated device model loading logic to use an AT port if available. |
| ** Added support for the carrier lock feature using the Google MBIM service. |
| ** Implemented support for reporting serving cell type and bandwidth in the |
| cell scan operation. |
| ** Limited the amount of different APN types usable when MS extensions are |
| unsupported. |
| ** Updated packet service state info loading to use the values reported by |
| the device instead of attempting to guess them. |
| ** Updated IPv6 IP addressing logic to rely on whether the provided address |
| is global or not to decide whether static or dynamic addressing is needed. |
| |
| * QMI: |
| ** Implemented support for detecting and processing profile change |
| indications, e.g. during a SIM card IMSI refresh operation. |
| ** Implemented support for scanning LTE and 5GNR cells. |
| ** Fixed operating mode update logic to avoid needing to receive indications, |
| as old devices don't support them. |
| ** Implemented multiplexing support for Qualcomm PCI devices using the MHI |
| driver. |
| ** Updated logic to read IPA tx/rx offload values from sysfs, making the IPA |
| support work seamlessly in multiple different Qualcomm SoCs. |
| ** Updated logic reading the SIM card operator identifier to avoid using the |
| NAS service, as that sometimes involved actual network access. The new |
| logic exclusively uses SIM card read operations (e.g. IMSI and EFad). |
| ** Consolidated the logic processing registration state from responses and |
| indications. |
| |
| * Plugins: |
| ** cinterion: implemented multiple-SIM support. |
| ** fibocom: disabled multiplexing in the NL668, which doesn't support it. |
| ** huawei: updated time interface to use ^NWTIME. |
| ** quectel: added port type hints for the EG12, EC21, EM060, EM061 and new |
| EM120, EM160 and RM520 variants. |
| |
| The following features which were backported to 1.20.x releases are also present |
| in ModemManager 1.22.0: |
| |
| ** build: new 'examples' option to allow disabling the installation of |
| examples. |
| ** mmcli: improved JSON output in network scan results. |
| ** mmcli: improved JSON output when creating SMS messages. |
| ** MBIM: ignored SIM related indications during a SIM slot switch operation. |
| ** MBIM: updated capabilities loading to use Microsoft Extensions if |
| available. |
| ** MBIM: updated supported modes loading to use the CustomDataClass field |
| contents. |
| ** QMI: fixed processing and exposing PCOs. |
| ** cinterion: improved management of the ^SWWAN? operation. |
| ** telit: improved support for 5G modems. |
| ** messaging: allowed Delete operation during enabling/disabling. |
| |
| |
| ModemManager 1.20.0 |
| ------------------------------------------- |
| This is a new stable release of ModemManager. |
| |
| The following notes are directed to package maintainers: |
| |
| * This version now requires: |
| ** libmbim >= 1.28.0 (for the optional MBIM support) |
| ** libqmi >= 1.32.0 (for the optional QMI support) |
| |
| * There is no longer an upstream-provided source tarball, please use the signed |
| git tag '1.20.0' instead to refer to the sources of this release. |
| |
| * This release supports meson as the primary build system. The GNU autotools |
| support is considered deprecated and will no longer be used in future major |
| releases. The 1.20.x releases will be the last ones including GNU autotools |
| support. |
| |
| The most important features and changes in this release are the following: |
| |
| * API: |
| ** New 'Modem.Sar' interface to allow the host to manage the SAR power level. |
| ** New 'Modem.GetCellInfo()' method, that allows querying information about |
| the current serving and neighboring cells. Currently including |
| 'cell-type' and 'serving' fields for all cell types, plus additional |
| type-specific fields: |
| *** CDMA: 'nid', 'sid', 'base-station-id', 'ref-pn' and 'pilot-strength'. |
| *** GSM: 'operator-id', 'lac', 'ci', 'timing-advance', 'arfcn', |
| 'base-station-id' and 'rx-level'. |
| *** UMTS: 'operator-id', 'lac', 'ci', 'frequency-fdd-ul', |
| 'frequency-fdd-dl', 'frequency-tdd', 'uarfcn', 'psc', 'rscp', 'ecio' |
| and 'path-loss'. |
| *** TDSCDMA: 'operator-id', 'lac', 'ci', 'uarfcn', 'cell-parameter-id', |
| 'timing-advance', 'rscp' and 'path-loss'. |
| *** LTE: 'operator-id', 'tac', 'ci', 'physical-ci', 'earfcn', 'rsrp', |
| 'rsrq' and 'timing-advance'. |
| *** 5GNR: 'operator-id', 'tac', 'ci', 'physical-ci', 'nrarfcn', 'rsrp', |
| 'rsrq', 'sinr' and 'timing-advance'. |
| ** New 'access-type-preference', 'roaming-allowance', 'profile-name', |
| 'profile-enabled' and 'profile-source' fields in the 'Bearer.Properties' |
| property, that can also be used in both 'Modem.Simple.Connect()' and |
| 'Modem.CreateBearer()'. |
| ** New 'Modem.Modem3gpp.SetPacketServiceState()' method and |
| 'Modem.Modem3gpp.PacketServiceState' property, which allow management the |
| explicit attach or detach to packet service on the current registered |
| network. |
| ** New 'Modem.Modem3gpp.SetNr5gRegistrationSettings()' method and |
| 'Modem.Modem3gpp.Nr5gRegistrationSettings' property, to allow management |
| of 5G specific settings like 'mico-mode' or 'drx-cycle'. |
| ** New 'start-date', 'uplink-speed' and 'downlnk-speed' fields in the |
| 'Bearer.Stats' property. |
| ** New 'Bearer.ReloadStatsSupported' property to indicate whether reloading |
| ongoing stats is supported or not. |
| ** New 'Modem.Modem3gppProfileManager.IndexField' property, to indicate which |
| field is to be used as unique index in the profile management operations. |
| ** New 'Sim.SimType', 'Sim.EsimStatus' and 'Sim.Removability' properties to |
| improve the management of eSIM related operations. |
| ** New 'Sim.Gid1' and 'Sim.Gid2' properties, which allow identifying SIM cards |
| that should have different settings applied. |
| ** New 'Modem.Signal.SetupThresholds() method, 'Modem.Signal.RssiThreshold' |
| and 'Modem.Signal.ErrorRateThreshold' to allow configuring thresholds so |
| that the modem emits indications whenever the signal quality values change |
| based on those thresholds. For RSSI a delta amount of dBm can be given, |
| and for error rate just a boolean to enable or disable the corresponding |
| event. |
| ** New 'error-rate' fields in the 'Modem.Signal.Cdma', 'Modem.Signal.Evdo', |
| 'Modem.Signal.Gsm', 'Modem.Signal.Umts', 'Modem.Signal.Lte' and |
| 'Modem.Signal.Nr5g' properties. |
| |
| * Core: |
| ** Detecting an eSIM without an active profile in the current SIM slot will |
| lead to the modem being in Failed state, in the same way as if the slot |
| was for a physical SIM and no SIM was inserted. |
| ** Default amount of AT probing attempts is updated to 6, to cope with modems |
| that are slower to boot. |
| ** New '--test-mbimex-profile-management' option in the daemon, to enable |
| support for profile management operations using the Microsoft extensions. |
| This is an optional feature because it requires using the 'apn-type' field |
| as unique index, which not all users of the profile management API may |
| expect. |
| ** Implemented some initial support to automatically hide personal details |
| (e.g. phone numbers, SMS contents...) from logs, right now only applicable |
| to QMI and MBIM logs. Updated support for this feature will keep on being |
| integrated in future 1.20.x updates. The new '--log-personal-info' option |
| in the daemon allows to disable this feature completely. |
| ** Added new filter match option for subsystem vendor id, required in several |
| PCI based Qualcomm modules. |
| ** QCDM port probing will no longer automatically run for all plugins, only |
| in those that explicitly require it. |
| ** Implemented support for suspend/resume detection based on ChromeOS' powerd |
| daemon. |
| ** Added Cat-M and NB-IoT LPWA access technologies. |
| |
| * Modem interface: |
| ** On 3GPP+3GPP2 multimode devices, a missing SIM card will now force the |
| modem into Failed state, as if it was a 3GPP-only device. |
| |
| * Simple interface: |
| ** Explicitly wait for PS domain to be attached during a connection attempt. |
| |
| * 3GPP interface: |
| ** Updated to report domain registration changes altogether whenever possible |
| (e.g. when using the QMI or MBIM protocols). |
| |
| * MBIM: |
| ** Implemented support to use the Microsoft-defined MBIM extensions v2 and v3 |
| whenever supported by the device. The ModemManager daemon will negotiate |
| which version to use with the modem, so that the highest version supported |
| is enabled. This negotiation applies to the whole device, so any other |
| user of the MBIM device will automatically start using the newly agreed |
| version. |
| ** Implemented current modes switching using MBIMEx v2.0 extensions. |
| ** Trigger explicit disconnection if a connection attempt fails. |
| ** Modem will be flagged as unusable if 10 consecutive MBIM requests timeout. |
| ** Enabled multiplex support for devices in the WWAN subsystem. |
| |
| * QMI: |
| ** Updated logic to by default prefer 'Signal Info' over the deprecated |
| 'Signal Strength' operations. |
| ** Updated logic to by default prefer 'System Info' over the deprecated |
| 'Serving System' operations. |
| ** Updated power state transition logic to ensure the new state is reached |
| before returning success to the user. |
| ** Implemented support for the 'Modem3gppProfileManager.Updated' signal using |
| PDC refresh notifications. |
| ** Modem will be flagged as unusable if 10 consecutive QMI requests timeout. |
| ** Implemented DTMF support. |
| ** Implemented support for automatic SIM IMSI switch detection under certain |
| roaming scenarios. |
| ** Updated the logic to move the PS domain state to 'registered' based on the |
| DSD System Status indications. |
| ** Updated endpoint type detection logic to be based on the net driver. |
| ** Updated endpoint number selection to be based on the data port. |
| ** Updated connection logic to allocate separate WDS clients per endpoint. |
| ** Added support for PCO reporting. |
| |
| * plugins: |
| ** quectel: Added FCC unlock support for the EM05-G. |
| ** telit: Band management updated to prefer using QMI whenever available, as |
| well as to detect the #BND command format automatically. |
| ** telit: Added support for LPWA modems. |
| ** fibocom: Implemented optional support to power down and up the modem |
| during the update of the initial EPS bearer settings. |
| ** fibocom: Implemented initial EPS bearer settings management in the MA510. |
| ** intel: New generic plugin for Intel PCI devices with vid 0x8086. |
| ** xmm: Prefer GNSS control ports explicitly tagged via udev tags. |
| ** foxconn: Use the new FOX QMI service to load firmware version. |
| ** cinterion: Added support for PCIe based devices. |
| |
| The following features which were backported to 1.18.x releases are also present |
| in ModemManager 1.20.0: |
| |
| * core: added support for external FCC unlock scripts that the user must |
| manually enable; automatic FCC unlocking will no longer happen. |
| * core: added support for connection/disconnection notification dispatcher |
| scripts, used primarily in the openwrt integration in order to report network |
| initiated disconnects. |
| * udev: fixed shell globing patterns in rules. |
| * sms: default send timeout updated to 5min. |
| * sms: merge WDP multipart CDMA WAP messages. |
| * qmi: fixed capabilities management in multimode 4G/5G devices. |
| * mbim: fixed network initiated disconnections by not comparing context type. |
| * qcom-soc: plugin enabled by default in build. |
| * foxconn: added support for T99W265 modems. |
| * fibocom: added support for FM101 modems. |
| * cinterion: added support for PLSx3w modems. |
| * telit: added support for new LE910S1, LE910Cx and LN920 compositions. |
| |
| |
| 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 |
| blocklist 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 blocklist 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 blocklist 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 blocklisted. 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 blocklist 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 blocklist 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. |
| |
| * This version requires libmbim >= 1.10.0. |
| |
| This version comes with the following updates in the interfaces: |
| |
| * Updated the logic around the IP configuration properties in the Bearer: |
| ** Setting DHCP as IP method in the IPv6 settings means that SLAAC should |
| be used to retrieve correct addressing and routing details. |
| ** DHCP IP method may now be combined with an explicit static IP address, as |
| IPv6 SLAAC may require the link-local address to be present. |
| ** MTU is now also included in the IP configuration properties, if specified |
| by the modem, and applicable to both DHCP and STATIC methods. |
| * New 'OFF' power state, which fully switches off the modem device. After |
| setting the modem in this state, no further use of it can be done. Currently |
| available in Wavecom and Cinterion. |
| * Location interface: new 'unmanaged GPS' support, which allows to start/stop |
| the GPS module in the modem, while leaving the location information retrieval |
| to other processes. Currently available in modems with independent GPS TTYs, |
| like Option/HSO, Cinterion and Huawei. |
| * New Test DBus interface: not to be installed, just for internal system tests. |
| |
| Other notable changes include: |
| * MBIM: support for ZTE and Sequans Communications modems. |
| * Ericsson MBM: Support for AT-capable /dev/cdc-wdm ports. |
| * Huawei: improved support for Network time retrieval. |
| * Huawei: implemented GPS support. |
| * Huawei: support for /dev/cdc-wdm AT ports via the new huawei-cdc-ncm driver. |
| * Cinterion: implemented GPS support. |
| * Cinterion: implemented unlock retries loading. |
| * Cinterion: gather port types for multi-tty devices. |
| * Cinterion: custom wait for SIM readiness after SIM-PIN unlock. |
| * Wavecom: custom wait for SIM readiness after SIM-PIN unlock. |
| * Probing: new flag to identify hotplugged devices which don't need full reset. |
| * Tests: internal refactor of the ports handling code, allowing test-driven |
| virtual ports and system tests run during 'make check'. This new feature also |
| comes with a new internal 'Test' DBus interface, as well as new --test-[*] |
| options in the ModemManager program. |
| * and many more fixes... |
| |
| |
| ModemManager 1.2.0 |
| ------------------------------------------- |
| This is a new stable release of ModemManager. |
| |
| This version comes with the following updates in the interfaces: |
| |
| * Signal interface: new interface for extended signal quality information |
| * OMA interface: new interface to expose the Device Management capabilities |
| defined by the Open Mobile Alliance |
| * Messaging interface: new 'Messages' property |
| * Modem interface: new 'Bearers' property |
| * 3GPP interface: new 'SubscriptionState' property |
| |
| Other notable changes include: |
| |
| * QMI: Implemented Manual CDMA activation logic |
| * QMI: Implemented 3GPP2/CDMA SMS support |
| * QMI: Added support for QMI modems in the ZTE, x22x and Cinterion plugins. |
| * Huawei: multiple improvements and fixes for the ^NDISDUP support |
| * Huawei: new mode/switching logic with ^SYSCFGEX for LTE-capable devices |
| * Altair-LTE: set subscription state based on PCO |
| * MediaTek: new 'mtk' plugin added for MediaTek devices |
| * libmm-glib: Added GObject Introspection and Vala support |
| * and many more fixes... |
| |
| |
| ModemManager 1.0.0 |
| ------------------------------------------- |
| |
| This is a new stable release of ModemManager. Notable changes include: |
| |
| * More flexible D-Bus API that accounts for the capabilities of modern devices |
| * Native support for Gobi and QMI-based Qualcomm devices via libqmi |
| * Native support for MBIM-based devices via libmbim |
| * Preliminary support for GPS-based Location Services with some devices |
| * More complete messaging API |
| * New libmm-glib client library |
| * New fully-featured command-line client (mmcli) |
| * systemd integration |
| * and much more... |