Opened 12 months ago
Closed 11 months ago
#21129 closed enhancement (fixed)
ModemManager-1.22.0
| Reported by: | Douglas R. Reno | Owned by: | Douglas R. Reno |
|---|---|---|---|
| Priority: | normal | Milestone: | 12.4 |
| Component: | BOOK | Version: | git |
| Severity: | normal | Keywords: | |
| Cc: |
Description
While trying to investigate a failure in ModemManager, I discovered that we're a few versions behind. The new download location appears to be at https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/tags/1.22.0
Release notes:
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.
The failure in question is:
make check-local make[4]: Entering directory '/sources/ModemManager-1.18.12/ModemManager-1.18.12/tools/tests' TEST: test-stub... (pid=31210) /MM/stub/modem/interface: FAIL GTester: last random seed: R02Sa12a882b0a47e211085a0c2e7aa269d2
It's far too late in the cycle to introduce a new ModemManager into the picture, but we should update this soon after 12.4 is released.
Change History (7)
comment:1 by , 11 months ago
comment:2 by , 11 months ago
They need -D bash_completion=false -D man=false -D qrtr=false to avoid external dependencies. (qrtr not needed for libmbim.)
comment:3 by , 11 months ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:4 by , 11 months ago
| Owner: | changed from to |
|---|---|
| Status: | assigned → new |
I have fixed the currency script. Returning the ticket to the book.
comment:5 by , 11 months ago
| Summary: | ModemManager-1.22.0 (new download location) → ModemManager-1.22.0 |
|---|
comment:6 by , 11 months ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:7 by , 11 months ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |

https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/archive/1.22.0/ModemManager-1.22.0.tar.gz