| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
bundles
|
|
|
|
|
| |
Using an intermediate typedef-ed enum type to avoid deprecation
warnings in the methods implemented in the compat sources.
|
| |
|
|
|
|
|
|
|
| |
Not just during install, as it would fail.
Same fix as in libmbim, see:
https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/issues/19
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Different options are set as `feature` but this may cause confusion.
They have been made `boolean`.
In order to always build man documentation, `help2man` is also
installed in the CI builds.
|
|
|
|
|
|
|
| |
Although not totally necessary due to its implementation, some files
built by meson are included as content files.
They have been explicitly added for the sake of correctness.
|
|
|
|
|
| |
A new variable called `qmi_name` has been created to avoid the call
to a function inside the meson object.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
meson gained the dictionaries as builtin objects[0] that can be
modified with the addition operator[1] and can be useful when
setting configuration or even environment values[2].
The individual object creation has been replaced by dictionaries
when possible.
[0] http://mesonbuild.com/Release-notes-for-0-47-0.html#new-builtin-object-type-dictionary
[1] https://mesonbuild.com/Release-notes-for-0-48-0.html#dictionary-addition
[2] https://mesonbuild.com/Release-notes-for-0-52-0.html#support-taking-environment-values-from-a-dictionary
|
|
|
|
|
|
|
| |
Since meson 0.49, the `/` character can be used to join paths[0], so
all the instances of `join_paths` have been replaced.
[0] http://mesonbuild.com/Release-notes-for-0-49-0.html#joining-paths-with-
|
|
|
|
| |
(cherry picked from commit dd7e62960f70ef4e32a379af8c8fb984b0832d20)
|
|
|
|
| |
Equivalent of AT+CLCC to retrieve information about all current calls
|
|
|
|
|
| |
To avoid the burden of maintaining multiple build systems, autotools
support has been removed.
|
| |
|
|
|
|
| |
(cherry picked from commit 98a3fdd4dd144ab10e948907333158657daec2d3)
|
| |
|
|
|
|
|
|
| |
There is no such license as GPL-2 in the SPDX nomenclature. As
the project is licensed under GNU General Public License v2.0
or later, use the related identifier GPL-2.0-or-later.
|
| |
|
|
|
|
|
|
|
|
| |
The rmnet support is no longer "auto"; it won't depend on whether we
detect the rmnet support in the kernel headers. Instead, we'll use a
fallback header defining the rmnet netlink support in case there are
no kernel headers installed or if the kernel headers don't have the
rmnet related symbols.
|
|
|
|
|
|
|
|
|
|
|
| |
There may be systems using a new enough kernel that would have rmnet
support as seen in the installed kernel headers, but in which
CONFIG_RMNET was not really enabled, and so there is no true rmnet
support during runtime.
We now allow disabling rmnet support completely at configure time, so
that all that logic is completely skipped if we know the kernel won't
support it.
|
|
|
|
|
|
|
|
| |
The "Uplink Data Aggregation Max Size" TLV already existed in version
1.10, but it was wrongly assigned to a different TLV code. Since 1.10
we kept the name in the compat layer to avoid breaking API/ABI, but
given that we're introducing the correct TLV now, we can keep it with
the original name and remove the symbols.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command allows unlocking Foxconn-manufactured modules like the
Dell-branded DW5821e (T77W968) or the new 5G-capable T99W175 module
shipped in Lenovo Thinkpads. Without the unlock, the module cannot
be put online (RF is kept off).
The command was found looking at a USB capture obtained from running
the "Dell Custkit tool for the DW5821e/DW5829e" under Windows:
0x01, 0x10, 0x00, 0x00, 0x02, 0x01, 0x00, 0x01, 0x00,
0x71, 0x55, 0x04, 0x00, 0x01, 0x01, 0x00, 0x00
See:
https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008571.html
https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008572.html
https://lists.freedesktop.org/archives/modemmanager-devel/2021-May/008586.html
|
|
|
|
|
|
| |
Compat methods are given to avoid breaking API/ABI.
Fixes https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/64
|
|
|
|
|
|
|
|
|
|
| |
The "Temperature" field in the "Common Info" TLV should be parsed as a
signed integer (gint8) instead of unsigned (guint8).
The TLV is renamed to "Common Info V2" and compat methods are given to
avoid breaking API/ABI.
Fixes https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/65
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Data Port Mapper service provides a way to map hardware endpoint
ids to the ep-type/ep-iface-number fields we would normally use in
"WDA Get/Set Data Format" or "WDS Bind Mux Data Port".
This mapping seems to be required in setups using the IPA driver,
e.g. as seen in the mmdata_port_cfg() method of the modem-data-manager
tool provided by the CodeAurora project under the Linux Foundation:
https://source.codeaurora.org/quic/dataservices/modem-data-manager
|
|
|
|
|
|
|
|
| |
Read the APN Type mask when getting profile settings
and display it in qmicli.
This can be used later to filter APN in the list of APNs
(MBIM as a similar 'ContextType')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The rmnet backend allows some configuration when creating link
interfaces. This configuration specifies how the link being created
works, and is strictly dependent on the setup. E.g. when using rmnet
over IPA we may need to always specify that checksum offload is
supported, while when using rmnet over qmi_wwan, no checksum offload
is currently supported.
None of the flags are applicable to the qmi_wwan-only backend, and so
this new method will return an UNSUPPORTED error if any flag is given
to this backend.
The generic add_link() method is now equivalent to running
add_link_with_flags() with QMI_DEVICE_ADD_LINK_FLAG_NONE.
|
|
|
|
|
| |
Define two UIM messages needed to get personalization status and remove
modem locks.
|
|
|
|
|
|
|
|
|
| |
The TLVs that included a guint8 reject cause are updated to have them
reported with the new QmiNasRejectCause enum type.
The old methods that referred to the field as guint8 are flagged as
deprecated and compat replacements are provided to avoid API/ABI
breaks in the next libqmi release.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This new method allows the user of the library to delete, at once, all
the links found for the given network interface. By default, this
method will iterate over all found links calling
qmi_device_delete_link() for each, with QMI_DEVICE_MUX_ID_UNBOUND as
mux id.
|
|
|
|
|
|
| |
This generic method allows us to list all links that have been created
from a base parent interface. The implementation is common for both
rmnet and qmiwwan backends, based on the "upper" links in sysfs.
|
|
|
|
|
|
|
|
| |
We need a way to know whether we can do link management before
attempting to add a new link, because the whole connection logic will
depend on whether we can create those new links or not (e.g. we would
need to bind mux data port and enable QMAP aggregation before creating
the new link)
|
|
|
|
|
|
|
| |
formats
E.g. we may want to know in advance if QMAP pass through is supported
or not, before attempting to use it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces a new QmiNetPortManager implementation based on
the add_mux/del_mux interface provided by the qmi_wwan driver.
Several kernel releases after the add_mux/del_mux interface was
implemented, the driver was updated to include a new mux_id sysfs
attribute in the instantiated link interface. In kernel versions that
have support for this mux_id interface the implementation of the
QmiNetPortManager is reliable and almost fully featured (except for
the suggested interface prefix with creating a new link).
In kernel versions before the mux_id attribute was introduced, the
implementation is reliable only if a long-running process is the one
taking care of the link management (e.g. ModemManager). The
implementation cannot be reliable with ephimeral programs using
QmiDevice objects for single operations (e.g. qmicli).
|
|
|
|
| |
implementation
|
|
|
|
| |
We use full words in the API method names.
|
| |
|
|
|
|
|
| |
It's been moved to its own project repository:
https://gitlab.freedesktop.org/mobile-broadband/libqrtr
|
|
|
|
|
|
| |
The bus object should only handle the node added/removed signals; for
the service added/removed ones, it must be each node the one emitting
them.
|
|
|
|
|
|
|
|
| |
The internal management of the nodes in the bus object is changed from
a hash table to a plain double linked list, so that implementing the
peek_nodes() and get_nodes() in the API is easier. When there aren't
many nodes, as is the usual case, there won't be loss in performance
between the lookup in the list vs the lookup in the hash table.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QrtrBus object creation is now asynchronous, and the user can
request to wait for the initial lookup to be fully done during its
initialization phase.
If the lookup is not required, the user can explicitly disable it.
The qmi-proxy and qmicli setups are updated to use the new async
creation method and also providing a lookup timeout of 1000ms. We no
longer use wait_for_node() in these implementations, instead we just
assume that the QrtrBus always has the nodes we expect to use.
|