128 Commits
Author SHA1 Message Date
Daniele Palmas d2de8ff226 port-qmi: allow setting initial mux-id value when using rmnet multiplexing
Qualcomm suggests to use mux id values >= 0x81: though this does not
seem a strict mandatory rule, there are scenarios in which the usage of
a specifix mux id is required otherwise various kind of issues could
happen (e.g. call failure, limited throughput...).

A new ID_MM_INITIAL_QMAP_MUX_ID udev tag allows setting the first initial
mux id value to be used when creating the multiplexed data connection.

Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
2025-11-24 23:50:03 -06:00
Jan Alexander Steffens (heftig) 078a92cd5c docs: Fix gtk-doc build
Fix a duplicate `id` and the inclusions of gdbus docs.

Signed-off-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
2025-04-11 03:56:59 +02:00
Guido Günther 68933455df treewide: Fix typos
Signed-off-by: Guido Günther <agx@sigxcpu.org>
2025-03-11 23:15:57 +01:00
Evangelos Ribeiro Tzaras dc17a771d7 docs: add missing reference to MMCbmState
Fixes: eda130f3bf

Closes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/963
2025-02-24 08:06:31 +01:00
Guido Günther eda130f3bf docs: Add Cbm And CellBroadcast 2024-12-01 21:41:10 +00:00
Aleksander Morgado 0f2e86b2a6 docs: add missing references to sections file 2024-10-07 13:39:02 +00:00
Aleksander Morgado 80da775433 docs: add symbol indices for 1.22 and 1.24 2024-10-07 12:03:27 +00:00
Aleksander Morgado 93a57f0d3a docs: add 2024 as copyright year 2024-10-07 12:02:10 +00:00
Thomas Vogt c2e3a8c10e port-probe: detect XMMRPC ports 2024-07-31 17:36:14 +00:00
Aleksander Morgado 2de0763ac8 api,errors: new MMCarrierLockError type
This new error type will be used to report errors in the carrier lock
operations performed through ModemManager.

They have a one to one mapping to the MBIM status specific errors.
2023-10-27 07:33:44 +00:00
Aleksander Morgado 3004a3e532 broadband-modem-qmi|mbim: allow limiting multiplexed links with udev tags
Certain QMI or MBIM devices may not be able to support multiplexing at
all, or they may support a limited amount of links.

The new ID_MM_MAX_MULTIPLEXED_LINKS udev tag allows specifying the
maximum number of supported multiplexed links; e.g. 0 to report none
supported or 1 to report that one single multiplexed link is
supported.
2023-06-16 20:58:04 +00:00
Aleksander Morgado 547d40009c docs: add missing reference to ID_MM_REQUIRED 2023-06-16 09:01:34 +00:00
Aleksander Morgado 552359b57e docs: update copyright 2023-04-14 08:50:38 +00:00
som e8d63c1743 modem-cellinfo: adding bandwidth and serving cell type
adding bandwidth information in mm-dbus interface
for the serving cell. In serving cell, the details
on whether the pcell/scell are from MCS or SCG is
also updated.

Co-author: Shilpa Shivakumar
2023-02-17 10:43:20 +00:00
Aleksander Morgado f419f56628 build: drop autotools 2022-11-07 14:26:02 +00:00
Aleksander Morgado fff4b95364 docs,reference: update copyright years 2022-10-19 11:18:38 +00:00
Aleksander Morgado 36d3a2c4f5 docs: add missing reference to ID_MM_PORT_TYPE_AT_GPS_CONTROL 2022-07-16 22:21:22 +02:00
Aleksander Morgado 554faa855c api,modem: new 'GetCellInfo()' method
This new method allows querying the modem for information about the
current serving cell(s) as well as any other neighboring cell that may
be found.

The information for the cells is given in an array of dictionaries,
where each element of the dictionary is a new dictionary itself.

Each cell type has a different set of properties that may be given in
the dictionary, and some of those properties in each type are also
applicable under certain conditions (e.g. only applicable to the cell
if it's a 'serving' cell instead of 'neighboring').

The API documentation explains in detail what is expected in each
case.
2022-01-18 09:00:10 +00:00
Aleksander Morgado fc6bc84d22 api,bearer: new 'profile-source' setting
Sometimes it's useful to know how a given stored profile was created,
so devices can store and report this kind of information.
2021-12-24 14:02:30 +01:00
Aleksander Morgado 73a29c3e33 api,bearer: new 'roaming-allowance' setting
The 'allow-roaming' setting should be considered deprecated for 3GPP
devices that support the new 'roaming-allowance' setting, which is
much more detailed (as it allows to differentiate between partner and
non-partner networks) and may also be stored as part of a profile.
2021-12-24 14:02:30 +01:00
Aleksander Morgado 339b51652a api,bearer: new 'access-type-preference' setting
In 5G capable devices, which can support multiple types of access
types (either 3GPP or non-3GPP), the UE may request to use a 3GPP
access type exclusively, prefer a 3GPP access type, or just report no
preference.

When supported, this field may also be part of the settings that can
be stored as part of a profile.
2021-12-24 14:02:28 +01:00
Aleksander Morgado 724342deac api,modem3gpp: add DRX cycle in 5G registration settings 2021-12-24 12:41:27 +00:00
Som_SP e951008ae8 api,modem3gpp: new 5G registration settings support and MICO mode
A new set of property+method is added to be able to configure the 5G
specific registration settings, initially defining the support for the
MICO mode.

The property name starts with "Nr5g" instead of "5gNr" because of the
limitations imposed by the GObject type system on how properties with
numbers can be named.
2021-12-24 12:41:27 +00:00
Aleksander Morgado 0eda648bb9 libmm-glib,sim: new 'SimType', 'Removability' and 'EsimStatus' properties 2021-12-11 12:53:37 +01:00
Aleksander Morgado 3444b02932 core: replace 'whitelist' with 'allowlist' and 'blacklist' with 'blocklist'
We keep the 'WHITELIST-ONLY' filter type name still as an option in
--filter-policy=[POLICY], but deprecated and with the better
'ALLOWLIST-ONLY' replacement suggested from now on.
2021-11-04 22:40:28 +01:00
Aleksander Morgado 6316a3bc43 docs,api: add index for 1.20 2021-11-03 14:03:13 +01:00
Aleksander Morgado f55ea211a9 api,3gpp: new 'PacketServiceState' property
This property allows the user to know whether the device is attached
or detached from the packet domain service.
2021-11-02 09:50:17 +00:00
Aleksander Morgado a07a43366a Revert "api: remove Modem.Sar interface"
This reverts commit 686e37ff84.
2021-09-10 09:53:57 +00:00
Iñigo Martínez 77d1c24361 build: Port to meson
meson is a build system focused on speed an ease of use, which
helps speeding up the software development. This patch adds meson
support along autotools.
2021-09-07 10:55:43 +00:00
Aleksander Morgado 686e37ff84 api: remove Modem.Sar interface
There is no real implementation for it yet, so let's recover these
changes once 1.18 has been released.
2021-08-09 23:03:23 +02:00
Aleksander Morgado 8905cf4670 filter: trivial: reorder WWAN rule before the TTY ones 2021-06-16 11:59:51 +02:00
Aleksander Morgado 9639e52726 filter: remove support for TTY blacklist, TTY greylist and TTY default allowed
These lists were used in the corresponding TTY_BLACKLIST and
TTY_MANUAL_SCAN_ONLY filter rules, in the LEGACY and PARANOID filter
types, which are no longer supported.

The DEFAULT_ALLOWED filter rule made sense only in the LEGACY filter
type, and therefore it is also now removed, leaving the
DEFAULT_FORBIDDEN fallback rule exclusively. In other words, there is
now no way to ask ModemManager to implicitly allow TTY ports; the only
way to do that is by explicit making the TTY ports fall in one filter
rule that would allow them.
2021-06-16 11:59:51 +02:00
Aleksander Morgado a02cd5ee93 docs: add missing references for several filter rules 2021-06-16 10:44:39 +02:00
Aleksander Morgado 756f9c5e75 docs: remove LEGACY(DEFAULT) and PARANOID filter policy documentation 2021-06-16 10:44:39 +02:00
Aleksander Morgado 34a50edde1 api,errors: document all DBus error name prefixes
Since ModemManager 1.0 we were publishing symbols to identify all the
possible DBus error name prefixes, but these were never documented,
they were explicitly ignored in gtk-doc.

Let's provide proper documentation for them and make them first-class
API symbols.
2021-05-22 22:58:37 +00:00
Aleksander Morgado 6c56ea3b97 docs,api: add index for 1.14
Some of the newly deprecated enum values were introduced in 1.14.
2021-05-22 22:58:37 +00:00
Aleksander Morgado 8da8fd0248 api: update MMMobileEquipmentError enum values
Update the list of mobile equipment error codes according to v17.1.0
of 3GPP TS 27.007 (March 2021).

A lot of the enum values that were prefixed with the 'GPRS_' keyword
have now been flagged as deprecated, and a new enum name given to the
corresponding value.

The deprecated symbol names are kept in the compat support to avoid
breaking API/ABI.
2021-05-22 22:58:37 +00:00
Aleksander Morgado 2d43ea48e1 api,modem: new Modem3gpp.ProfileManager interface
This new interface allows modems to expose the list of available
connection profiles stored in the device and edit or delete them; as
long as the underlying device/protocol allows it.
2021-04-29 10:13:22 +00:00
Aleksander Morgado ff8e21b535 api,bearer: new 'apn-type' setting
This new setting allows the user setting up the connection to specify
the purpose of the connection being brought up.

Until now, we would always assume that connections are exclusively
brought up for connecting to the Internet, also limited by the
inability to connect to multiple different APNs at the same time.

But that may really not be true as there may be additional services
that may be accessed through other APNs, like MMS services or even
private networks for companies that have their own APNs on a given
operator (e.g. not that uncommon with banks and connected cars).

The new APN type setting will not change the way the bearer is
connected, but will allow the connection manager to decide what kind
of networking setup the specific connection needs.

This new setting can be provided by the user itself, or implicitly
read from the device if the device stores this information.
2021-04-29 10:13:22 +00:00
Aleksander Morgado 3e05b3a982 docs,api: include missing reference to the SAR interface 2021-03-23 12:02:20 +01:00
Aleksander Morgado 7ad2e3ce9c build: add support for the new SAR interface
Include the new SAR interface in the build so that gdbus-codegen
generates support for it in libmm-glib as well as proper documentation
in the API reference.
2021-03-23 08:49:30 +00:00
Aleksander Morgado d1a893775e docs: add api indices for 1.18 2021-03-10 10:59:22 +01:00
Aleksander Morgado 064e92e9b7 api,simple: new 'multiplex' setting in bearer properties
Both the Simple.Connect() and Modem.CreateBearer() are updated to
allow a new 'multiplex' setting in the properties provided by the user
in both of these methods.

The new setting expects a MMBearerMultiplexSupport enum indicating
what kind of multiplex needs the user has:
 * none: if multiplex must not be used.
 * requested: if multiplex should be used if available.
 * required: if multiplex must be used.

The underlying implementations will take care of accepting or
rejecting the setting depending on the system and modem capabilities.
2021-03-10 10:59:19 +01:00
Aleksander Morgado 268bf4f98a core: update copyright years to 2021 2021-01-17 10:33:45 +01:00
Aleksander Morgado 3826795228 docs: add 'online-location' references
So that the gtkdoc-rebase step fixes the URLs to contain the correct
links; e.g.:

   $ make dist V=s
   make[8]: Entering directory '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib'
   make  \
     top_distdir="../../../ModemManager-1.15.0" distdir="../../../ModemManager-1.15.0/docs/reference/libmm-glib" \
     dist-hook
   ../ModemManager/ -> https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/ (914)
   ../gio/ -> https://developer.gnome.org/gio/unstable/ (2564)
   ../glib/ -> https://developer.gnome.org/glib/unstable/ (5534)
   ../gobject/ -> https://developer.gnome.org/gobject/unstable/ (499)
   make[8]: Leaving directory '/home/aleksander/Development/foss/ModemManager/docs/reference/libmm-glib'

Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/298
2021-01-16 17:56:15 +01:00
Aleksander Morgado c92dc21a18 api: new ID_MM_PORT_TYPE_QMI and ID_MM_PORT_TYPE_MBIM udev hints
It is no longer true that all QMI ports are exposed by the qmi_wwan
driver and that all MBIM ports are exposed by the cdc_mbim driver.
There are other generic setups that allow exposing these types of
ports using different drivers, and usually we can also know the type
of port in advance via other means. Therefore, allow adding udev port
type hints for QMI and MBIM ports as well.
2020-11-09 18:41:57 +01:00
Aleksander Morgado 5df9ddac18 filter: simplify CDC_WDM rule to a subsystem-only USBMISC check
This is not just a rename of the rule, we also now avoid doing an
explicit check on the port name as well, and we rely on subsystem
checks only; i.e. the same logic applied for net ports.

The port candidate rules already do a 'cdc-wdm*' device name check
so it shouldn't be a big deal.
2020-11-06 12:37:10 +01:00
Aleksander Morgado 0cd76bf1c4 api: deprecate MM_MODEM_CAPABILITY_LTE_ADVANCED
It's not used anywhere.
2020-04-09 12:38:49 +00:00
Aleksander Morgado b774cbe658 build: bump copyright years to 2020 2020-01-03 20:43:45 +01:00
Aleksander Morgado 53a7dc2f63 docs,api: rework how indices are exposed in docs
Use <chapter> so that all per-version indices are included in the docs.
2019-10-28 10:28:27 +01:00