Sync from SUSE:SLFO:Main libqmi revision 8a5e2d32e9ee6e843033a8a9bdcfab88

This commit is contained in:
Adrian Schröter 2024-05-03 15:32:26 +02:00
commit e92be5994b
4 changed files with 1156 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libqmi-1.32.4.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

993
libqmi.changes Normal file
View File

@ -0,0 +1,993 @@
-------------------------------------------------------------------
Mon Apr 3 17:57:50 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.32.4:
* libqmi-glib: Schedule indications with G_PRIORITY_DEFAULT to
ensure correct processing order between responses and
ndications.
* build: If QRTR enabled the pkg-config should publicly require
libqrtr-glib.
- Changes from version 1.32.2:
* libqmi-glib: fixed message header validation to avoid reading
out of bounds.
* qmi-proxy: added --verbose-full flag to allow printing logs
with personal info included.
- Changes from version 1.32.0:
* There is no longer an upstream-provided source tarball, please
use the signed git tag '1.32.0' instead to refer to the sources
of this release.
* The verbose message logging will now by default hide all fields
that are considered personal information. Extended message
logging including all field contents should be explicitly
requested.
* Build:
- The GNU autotools (autoconf/automake/libtool) support has
been fully removed, this release requires the use of the
meson build system.
- The 'instrospection' meson option is now a boolean.
- New boolean 'man' meson option to allow disabling the man
page generation.
* New services: New 'FOX' service for operations defined by
Foxconn, including "Get Firmware Version" for now.
* qmicli:
- New '--verbose-full' option to request enabling logs that
include personal information.
- New '--pdc-monitor-refresh' command.
- New '--gas-dms-set-usb-composition' and
'--gas-dms-get-usb-composition' commands.
- New '--wms-set-routes' command.
- New '--dsd-get-system-status' command.
- Updated the '--wda-set-data-format' command with new optional
fields to configure the uplink data aggregation max size and
max datagrams.
* Several other minor improvements and fixes.
- Switch to meson buildsystem, add meson BuildRequires and macros.
- Add help2man, pkgconfig(bash-completion) and
pkgconfig(gobject-introspection-1.0) BuildRequires: New
dependencies.
- Use ldconfig_scriptlets macro.
- New home, URL and Source.
- Drop sig and keyfile, no longer available.
-------------------------------------------------------------------
Mon Jul 18 10:11:28 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.30.8:
* dms: new 'Foxconn FCC authentication v2' request/response.
-------------------------------------------------------------------
Wed May 25 17:19:04 UTC 2022 - Callum Farmer <gmbr3@opensuse.org>
- Enable QRTR support
-------------------------------------------------------------------
Thu May 5 09:47:12 UTC 2022 - Christophe Giboudeaux <christophe@krop.fr>
- Update to 1.30.6
* meson: fix 'export_packages' in GIR setup.
* net-port-manager: use unaligned netlink attribute length.
- Drop the unneeded rpmlintrc file
-------------------------------------------------------------------
Mon Feb 14 23:17:26 UTC 2022 - Dirk Müller <dmueller@suse.com>
- update to 1.30.4:
** meson: switch to use the new python module in meson.
** meson: added a new boolean 'man' option in the meson setup to explicitly
enable or disable building the man pages.
** meson: removed the option to detect if rmnet is supported.
** meson: multiple updates to use newer meson features like install_dir(),
install_mode() or summary().
** meson: options 'mbim_qmux' and 'qrtr' are enabled by default and must be
explicitly disabled if they're not needed, there is no attempt to
autodetect whether they can be enabled or not.
* qmi-proxy:
** Remove assert when attempting to close ghost device.
* qmi-firmware-update:
** Use defaults if FLASH variables not reported, enabling support to flash
the new Sierra Wireless EM9190 and EM9191 modules.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Mon Dec 20 23:02:07 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Mention libqmi.keyring
-------------------------------------------------------------------
Mon Dec 20 22:15:31 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.30.2:
* libqmi-glib:
** Added support for 'hsic', 'bam-dmux' and 'unknown' endpoint types.
** Added support for QMAPv2, QMAPv3 and QMAPv4 data aggregation types.
** Added support for 'NGRAN' access technology identifier.
** New 'qmi_device_add_link_with_flags()' method, in order to give e.g. rmnet
specific checksum offload related flags when creating a new link.
* qmicli:
** New '--nas-get-preferred-networks' command.
** New '--nas-set-preferred-networks' command.
** New '--uim-get-configuration' command.
** New '--uim-depersonalization' command.
** New '--wms-get-routes' command.
** New '--dpm-open-port' command.
** New '--dpm-close-port' command.
** Updated '--wds-create-profile' with an additional 'apn-type-mask' setting.
** Updated '--wds-modify-profile' with an additional 'apn-type-mask' setting.
** Updated '--link-add' with an additional optional 'flags' setting.
* qmi-network:
** New PROFILE configuration setting to allow specifying which WDS profile to
use when connecting.
** New IP-TYPE configuration setting to allow selecting the IP type requested
* collections:
** basic: added voice call management operations.
** basic: added voice supplementary service related operations.
** basic: added NAS preferred networks related operations.
** basic: added NAS network reject indications.
** basic: added UIM depersonalization related operations.
* Several other minor improvements and fixes.
- add gpg validation
-------------------------------------------------------------------
Wed Aug 25 11:47:38 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.28.8
* libqmi-glib:
- Fix CTL "Set Data Format" output TLV prerequisites.
- Fix double free in the qmiwwan based net port manager.
-------------------------------------------------------------------
Sat Jun 5 11:43:53 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.28.6
* New request/responses:
- dms: implement "Foxconn Set FCC authentication"
request/response.
* libqmi-glib:
- Fix transport detection in the 'wwan' subsystem.
* build:
- Fix build with GCC 11 and -Wincompatible-pointer-types.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Sat May 15 08:13:42 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.28.4
* libqmi-glib:
- Add 'wwan' subsystem support.
- Plug memleak when allocating new links.
- Plug memleak when QmiDevice is opened multiple times.
- Fix build when ARPHRD_RAWIP isn't defined in libc.
* gir:
- Flag all output TLV readers as optional.
- Add explicit ownership information in the string and
struct return annotations.
* collections:
- basic: added WMS Send ACK
* qmicli:
- Fix double GError when both 'Extended List' and 'Bandwidth
List' are missing in --nas-get-rf-band-info.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Mon Mar 1 19:39:14 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.28.2
* libqmi-glib:
+ Fixed build with GLib < 2.58.
+ Simplified the qmi_wwan add_mux/del_mux logic assuming there
is no delay in the creation and deletion of the net links.
-------------------------------------------------------------------
Tue Feb 23 06:58:56 UTC 2021 - Paolo Stivanin <info@paolostivanin.com>
- update to 1.28.0:
* The QmiDevice interfaces to work with the expected data format and the wwan
interface name should now be considered to be specific to QMI devices exposed
by the upstream 'qmi_wwan' kernel driver. If the device is exposed with a
different driver (e.g. PCIe or QRTR) these methods will always fail.
* The QmiDevice now supports configuring the 'pass_through' sysfs setting in
the network interfaces exposed by the 'qmi_wwan' kernel driver, with a new
'qmap-pass-through' expected data format type. In this mode, the network
device will be managed by the rmnet kernel driver. A new method is also
provided to check in runtime whether a given expected data format value is
supported by the kernel or not.
* The QmiDevice now includes methods to list, create and delete links on the
network interface, that can be used to setup QMAP based multiplexing of
different data streams, e.g. connected to different APNs. When using the
'qmi_wwan' kernel driver, the link management logic depends on the configured
expected data format:
** rmnet netlink operations will be used if 'qmap-pass-through' expected
data format is configured.
** add_mux/del_mux operations will be used if 'raw-ip' expected data format
is configured.
* New services:
** New 'SAR' (Specific Absorption Rate) service, with support for the "Set RF
State" and "Get RF State" request/responses.
* New request/response/indications:
** uim: implement "Refresh Register" request/response.
** uim: implement "Refresh Register All" request/response.
** uim: implement "Refresh Complete" request/response.
** uim: implement "Refresh" indication.
** loc: implement "Get Engine Lock" request/response.
** loc: implement "Set Engine Lock" request/response.
** nas: implement "Get DRX" request/response.
** nas: implement "Get PLMN Name" request/response.
** wms: implement "Send Ack" request/response.
** wds: implement "Bind Data Port" request/response.
** wds: implement "Get Max LTE Attach PDN Number" request/response.
** wds: implement "Get LTE Attach PDN List" request/response.
** wds: implement "Set LTE Attach PDN List" request/response.
** wds: implement "Set LTE Attach PDN List" indication.
** wds: implement "Get LTE Attach Parameters" request/response.
** wds: renamed "Get Default Profile Num" to "Get Default Profile Number",
and provided compat symbols to avoid breaking API.
** wds: renamed "Set Default Profile Num" to "Set Default Profile Number",
and provided compat symbols to avoid breaking API.
* New TLVs supported in existing messages:
** nas: added the "Rx Chain 2/3 Info" TLVs in "Get Tx Rx Info".
** nas: added the "LTE Info Timing Advance" TLV in "Get Cell Location Info".
** nas: added the "LTE Voice Domain", "CDMA Registration Zone ID", "GSM
Routing Area Code", "WCDMA Routing Area Code" and "CDMA Resolved MCC"
TLVs in "Get System Info".
* libqmi-glib:
** Added support for 'embedded' and 'pcie' endpoint types.
** Added support for QMAPv5 data aggregation type.
* qmicli:
** When built with QRTR support, the '--device' option now allows QRTR URIs
(e.g. 'qrtr://0').
** New '--link-list', '--link-add', '--link-delete' and '--link-delete-all'
commands.
** New '--uim-monitor-refresh-file' command.
** New '--uim-monitor-refresh-all' command.
** New '--wds-bind-data-port' command.
** New '-loc-get-operation-mode' and '--loc-set-operation-mode' commands.
** New '-loc-get-engine-lock' and '--loc-set-engine-lock' commands.
** New '--wds-get-lte-attach-parameters' command.
** New '--wds-get-max-lte-attach-pdn-num' command.
** New '--wds-get-lte-attach-pdn-list' and '--wds-set-lte-attach-pdn-list'
commands.
** Updated the '--wds-start-network' command with a timeout of 180s.
** Updated the '--wds-stop-network' command with a timeout of 120s.
** Updated the '--dms-set-firmware-preference' command to use a key-value
pair based input instead of predefined fields.
* collections:
** basic: added UIM event registration commands.
** basic: added UIM slot management commands.
** basic: added UIM refresh related commands.
** basic: added WDS bind data port commands.
** basic: added WDS initial LTE bearer management commands.
** basic: added NAS PLMN name commands.
-------------------------------------------------------------------
Sun Jan 10 15:09:55 UTC 2021 - Martin Hauke <mardnh@gmx.de>
- update to 1.26.8:
* libqmi-glib:
+ Fix proxy segfault when accessing length of NULL GArray.
+ Add "Release USSD" indication to Basic collection.
* qmicli:
+ Fix element types used in "NAS Get Cell Location Info".
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Wed Oct 7 19:09:15 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- update to 1.26.6:
* libqmi-glib:
+ New TLV read APIs added in "NAS Get Cell Location Info" so
that BCD encoded PLMN strings are read as arrays instead of
as UTF-8 validated strings.
+ Allow TAB characters as printable in strings.
* qmicli:
+ report EcIo, RSRP and phase for 5GNR in "NAS Get TX/RX Info".
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Wed Aug 26 19:20:02 UTC 2020 - Dirk Mueller <dmueller@suse.com>
- update to 1.26.4:
* Added new message collections support, so that users can select which
messages to include in the built library during configure with the
--enable-collection option. Three predefined sets are given:
** minimal: the bare minimum messages required to control connectivity.
** basic: all messages and indications that ModemManager requires.
** full: all supported messages and indications.
Users can install custom collections under data/ and reference them in
the same way as the predefined sets. E.g. installing a new
data/qmi-collection-custom.json set can be enabled during configure with
--enable-collection=custom.
* Added new GObject Introspection support in the library
* Implemented new QRTR backend support, disabled by default. This new backend
allows to perform QMI operations on systems with the Qualcomm IPC router
* Added 5GNR radio access technology support, with new enum values in both the
DMS and NAS services.
* New services:
** New 'GMS' (Telit General Modem Service) service, for now just implementing
basic test get/set value commands.
** New 'DSD' (Data System Determination) service, implementing methods to get
and set default bearer APN settings.
* New request/response/indications:
** dms: implement "Get MAC Address" request/response.
** dms: renamed "Dell Get Firmware Version" to "Foxconn Get Firmware Version"
as the command applies not only to the Dell-branded variant, but also to
the generic Foxconn-branded models. The old APIs are kept available but
flagged as deprecated.
** loc: implement "Set NMEA Types" request/response.
** loc: implement "Get NMEA Types" request/response.
** uim: implement "Switch Slot" request/response.
** uim: implement "Get Slot Status" request/response.
** uim: implement "Slot Status" indication.
** voice: implement "Indication Register" request/response.
** voice: implement "Originate USSD" request/response.
** voice: implement "Answer USSD" request/response.
** voice: implement "Cancel USSD" request/response.
** voice: implement "Release USSD" request/response.
** voice: implement "USSD" indication.
** voice: implement "Originate USSD No Wait" request/response.
** voice: implement "Originate USSD No Wait" indication.
* New TLVs supported in existing messages:
** nas: added 'Extended List' and 'Bandwidth List' in "Get RF Band
Information".
** wda: added 'Endpoint Info' in "Get Data Format".
-------------------------------------------------------------------
Sat May 30 08:46:17 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.14:
* libqmi-glib:
- Fix build with GLib < 2.44.
- Fix UTF-8 string validation when the string contains a
trailing NUL byte (e.g. the Sierra specific "DMS Swi Get
Current Firmware" command).
-------------------------------------------------------------------
Sat May 9 12:29:42 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.12:
* libqmi-glib:
- Skip UTF-8 validation on 0xFF suffix that may happen in
fixed sized strings (e.g. 2-digit MNC value in 3-byte fixed
sized field).
- Explicitly allow CR and LF as valid characters in strings
(e.g. when given in NMEA trace indications).
* qmi-proxy:
- Fix loss of last requests on client hangup.
- Fix missing indication/removal signal handling in clients.
- Fix forwarding of broadcast indications to all clients.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Fri Apr 10 17:46:50 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.10:
+ libqmi-glib:
- Added new WDS verbose call end reasons in the IPv6, PPP,
3GPP, CM and Internal groups.
- Renamed WDS verbose call end reason "CM_CONFIGURATION_FAILED"
to "CM_CONFERENCE_FAILED", and added the old name as
deprecated in the compat sources.
- Detect QMI control ports exposed as 'smdpkt' or 'rpmsg'
virtual devices.
+ qmicli:
- Fixed crash when using --pdc-deactivate-config.
+ Several other minor improvements and fixes.
-------------------------------------------------------------------
Mon Mar 16 12:35:59 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.8:
libqmi-glib:
* Fixed string reading logic to avoid critical memory leak.
* Improved logic to fallback to GSM7 or UCS2, by making sure that
the UTF-8 string validation doesn't consider non-printable
characters.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Thu Feb 27 10:06:34 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.6:
libqmi-glib:
* Fixed the close operation logic to make sure that a reopen done
right away doesn't close the wrong endpoint.
* Updated string reading logic to make sure that all strings are
valid UTF-8.
* Updated string reading logic to attempt parsing as GSM7 or UCS2
if the initial UTF-8 validation fails.
* Renamed TLV 0x15 in the "WDA Get Data Format" message, and added
new compat methods for the old name.
* Fixed the format of the NITZ information TLV, and added new
compat methods for the old name.
* Fixed the format of the Home Network 3GPP2 TLV, and added new
compat methods for the old name.
* Several other minor improvements and fixes.
-------------------------------------------------------------------
Wed Jan 15 20:15:53 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.4:
* libqmi-glib: the logic behind QMI_DEVICE_OPEN_FLAGS_VERSION_INFO
has been updated, and from now on it will only make sure the
version info of the device is loaded when it's opened.
The library will no longer prevent a given message from being
sent to the module based on the version information kept in
the message database.
* docs: fixed Since tags in UIM messages using the fixed
"Session" TLV introduced in 1.22.
-------------------------------------------------------------------
Sat Jan 4 17:47:58 UTC 2020 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Only require python3-base package for building instead of
full python3 package.
-------------------------------------------------------------------
Sun Dec 15 10:18:24 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.24.2:
+ libqmi-glib:
- message: fixed message creation on big endian systems.
- message: added missing services in
get_version_introduced_full().
- message: updated printable_full() to allow a NULL
line_prefix.
- device: updated response reception logic to make sure we
check the message id before attempting to parse the
contents, and if the message id doesn't match we return an
early QMI_CORE_ERROR_UNEXPECTED_MESSAGE error.
+ pkgconfig:
- Added libmbim dependency in Libs.Private, if built with
QMI-over-MBIM support.
+ qmi-proxy:
- Updated to always use the realpath of the QMI device file,
so that users using different symlinks to the same device
file don't get transaction ids mixed up.
+ Several other minor improvements and fixes.
-------------------------------------------------------------------
Fri Nov 8 11:49:40 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.24.0:
+ Various new services, requests and firmware update support
added.
-------------------------------------------------------------------
Sun Sep 8 20:21:52 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.22.6:
+ qmicli:
- Fix potential dereference of null GArray in LOC service.
+ libqmi-glib:
- Fix definitions for QMI_*_LTE_BAND_*_EUTRAN_32 enum values.
+ Build updated with several fixes:
- Explicitly define max allowed GLib version.
-------------------------------------------------------------------
Thu Apr 11 18:11:50 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.22.4:
+ New request/responses/indications:
- uim: new "Register Events" request/response.
- dms: new "Dell Change Device Mode" request/response.
- dms: new "Dell Get Firmware Version" request/response.
+ libqmi-glib:
- wds: fixed reporting unknown current rates.
+ qmi-proxy:
- Increased empty lifetime to 300s.
+ qmicli:
Avoid priting service option in 3GPP devices.
-------------------------------------------------------------------
Sat Mar 2 21:38:48 UTC 2019 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 1.22.2:
+ Fixed CID tracking logic in the qmi-proxy.
https://gitlab.freedesktop.org/mobile-broadband/libqmi/issues/9
-------------------------------------------------------------------
Tue Jan 8 21:43:44 UTC 2019 - bjorn.lie@gmail.com
- Update to version 1.22.0:
+ Build now looks for the correct python provider in the system
during configure.
+ New services: New 'QoS' (Quality of Service) service, with some
minimal initial implementation to support flow/network status
querying. Additionally, some Sierra-specific commands are also
implemented that allow querying per-bearer statistics (e.g. if
multiple dedicated and default LTE bearers are used).
+ New request/responses/indications:
- loc: new "Register Events" request/response.
- loc: new "NMEA" indication.
- loc: new "Engine State" indication.
- loc: new "Fix Recurrence Type" indication.
- loc: new "GNSS Sv Info" indication.
- loc: new "Inject Predicted Orbits Data"
request/response/indication.
- loc: new "Get Predicted Orbits Data Source"
request/response/indication.
- loc: new "Set Server" request/response/indication.
- loc: new "Get Server" request/response/indication.
- loc: new "Delete Assistance Data"
request/response/indication.
- loc: new "Set Operation Mode" request/response/indication.
- loc: new "Get Operation Mode" request/response/indication.
- loc: new "Inject XTRA Data" request/response/indication.
- uim: new "Card Status" indication.
- wds: new "Get Default Profile Num" request/response.
- wds: new "Set Default Profile Num" request/response.
- wds: new Sierra-specific "Swi Create Profile Indexed"
request/response.
+ New TLVs supported in existing messages:
- loc: added multiple new TLVs in the "Position Report"
indication, which was a minimal skeleton in previous
releases.
- loc: added 'Fix Recurrence Type' TLV in "Start".
- loc: added 'Minimum Interval between Position Reports' TLV in
"Start".
- nas: added 'Acquisition Order Preference' TLV in "Set System
Selection Preference" and "Get System Selection Preference".
- nas: added 'Phy CA Agg Secondary Cells' TLV in "Get LTE Cphy
CA Info".
- wds: added 'WDS APN Disabled Flag' TLV in "Create Profile",
"Modify Profile" and "Get Profile Settings".
- wds: added 'WDS Roaming Disallowed Flag' TLV in "Create
Profile", "Modify Profile" and "Get Profile Settings".
+ libqmi:
- Assume TLVs < 0x10 are mandatory by default.
- Fixed some missing QmiProtocolErrors and updated some
existing ones.
- Implemented support to allow enabling QMI indications when in
MBIM mode.
- Addded missing QmiNasBandPreference and
QmiDmsLteBandCapability flags.
- Deprecate QMI_CORE_ERROR_TLV_EMPTY, as empty TLVs are allowed
by the protocol and totally valid e.g. in 0-sized string-type
TLVs.
- Moved all deprecated APIs to 'qmi-compat.h' header.
+ qmicli:
- New '--loc-get-position-report' command.
- New '--loc-get-gnss-sv-info' command.
- New '--loc-follow-position-report' command.
- New '--loc-follow-gnss-sv-info' command.
- New '--loc-follow-nmea' command.
- New '--loc-delete-assistance-data' command.
- New '--qos-get-flow-status' command.
- New '--qos-get-network-status' command.
- New '--qos-swi-read-data-stats' command.
- New '--qos-reset' command.
- New '--wds-create-profile' command.
- New '--wds-modify-profile' command.
- New '--wds-delete-profile' command.
- New '--wds-get-default-profile-num' command.
- New '--wds-set-default-profile-num' command.
- New '--wds-swi-create-profile-indexed' command.
- Added support to request acquisition order preference updates
when using '--nas-set-system-selection-preference'.
- Fixed slot indices in '--uim-get-card-status'.
- Fixed '--uim-set-pin-protection', '--uim-verify-pin",
"--uim-unblock-pin", and '--uim-change-pin', so that a dummy
application identifier is always used.
- Updated so that all commands work even through QMI over MBIM,
even if indications are required to complete the command
(e.g. most PDC and LOC commands).
+ qmi-network: Avoid creating invalid --wds-start-network when
APN is not set.
+ Several other minor improvements and fixes.
-------------------------------------------------------------------
Mon Aug 13 20:01:38 UTC 2018 - bjorn.lie@gmail.com
- Update to version 1.20.2:
+ qmicli:
- Exit on --wds-start-network parse errors.
- Fix reading current technology in
--wds-get-data-bearer-technology.
- Remove implicity casts to GDestroyNotify in
g_clear_pointer().
+ qmi-firmware-update:
- Fix --ignore-version-errors.
- Fix byte counts in error message.
+ libqmi-glib:
- dms: factory settings related operations since 1.0
- Avoid closing same file descriptor twice.
- Don't leak the inner MbimDevice if MBIM_QMUX_ENABLED.
- Add no-dependency-on filter to rpmlintrc, filter out false
warning about missing deps in devel package.
-------------------------------------------------------------------
Thu Mar 8 09:52:04 UTC 2018 - jengelh@inai.de
- Update summary to standard language
-------------------------------------------------------------------
Wed Feb 28 16:36:07 UTC 2018 - dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
-------------------------------------------------------------------
Mon Jan 22 01:27:29 UTC 2018 - luc14n0@linuxmail.org
- Update to version 1.20.0:
+ New services: loc - new "LOC" (location) service, which e.g.
allows controlling GPS devices in newer modules that don't
implement the PDS service. Just some very basic implementation
for now.
+ New request/responses:
- nas: new "Attach/Detach" request/response messages.
- wds: new "Get Channel Rates" request/response messages.
- dms: new 'Swi Get/Set USB Composition' request/response
messages.
+ New TLVs supported in existing messages:
- nas: new 'Extended LTE Band Preference' TLV in "Set/Get SSP".
- dms: new 'Extended LTE Band Capability' TLV in "Get Band
Capabilities".
+ libqmi:
- New:
. QMI_DEVICE_SIGNAL_REMOVED signal in the QmiDevice
object, propagated through the qmi-proxy.
. QMI_CLIENT_VALID property in the QmiClient that allows
detecting whether the underlying QmiDevice is usable or not.
- Defined additional LTE bands.
+ qmicli:
- New: --wds-set-ip-family, --wds-get-channel-rates,
--uim-read-record, --dms-swi-get-usb-composition and
--dms-swi-set-usb-composition commands.
+ libqmi-glib:
- Prefer realpath() to canonicalize_file_name().
- Avoid signals sent to the qmi-proxy process.
+ qmi-firmware-update: Support USB3->USB2 mode changes during
upgrade.
- Update Url to https://www.freedesktop.org/wiki/Software/libqmi/:
current libqmi's web page.
- Add pkgconfig(gio-unix-2.0) BuildRequires: it was being pulled
by another pkgconfig module that live in glib2-devel package and
used already.
-------------------------------------------------------------------
Thu Nov 2 09:15:39 UTC 2017 - mpluskal@suse.com
- Do not rely on env for python during build
- Run spec-cleaner
-------------------------------------------------------------------
Wed May 10 18:03:59 UTC 2017 - zaitor@opensuse.org
- Update to version 1.18.0:
+ libqmi:
- Implemented support for vendor-specific commands through a
new qmi_device_command_full() operation and a new
QmiMessageContext type.
- New 'QMI_DEVICE_OPEN_FLAGS_AUTO' flag in qmi_device_open()
which allows automatic detection of the underlying protocol
in a cdc-wdm device (either QMI or MBIM) and transparently
uses it based on that.
- New qmi_device_close_async() operation, which allows closing
a QmiDevice asynchronously.
- Fixed QmiWmsCdmaCauseCode enum names, and provided a
compatibility layer keeping the old names to avoid breaking
API.
+ New services: pdc: new "PDC" (persistent device configuration)
service, which among other things, allows configuring the HP
lt4120.
+ New TLVs supported in existing messages: wda: updated "Set Data
Format" request to allow specifying endpoint type and interface
number.
+ qmi-firmware-update: This is a completely new tool that allows
upgrading firmware in (at least) Sierra Wireless devices with
MDM9200, MDM9x15 or MDM9x30 chipsets. Run the tool with --help
and --help-examples to get more information on how to use it.
+ qmicli:
- The CLI no longer requires the '--device-open-mbim' explicit
option when opening QMI capable MBIM devices, the automatic
detection of QMI over MBIM is enabled by default.
- New '--device-open-qmi' option to disable the automatic
detection of protocol and force using QMI.
- If running in MBIM mode, enable MBIM logs and traces.
- By default the QmiDevice will be closed before exiting, e.g.
so that the MBIM session is also closed.
+ docs:
- Updated the documentation so that each QMI message and each
TLV specifies in which libqmi version it was introduced,
using "since:" tags in the QMI message databases.
- Added indices for new symbols introduced in the major libqmi
releases, as well as for symbols flagged as deprecated.
- Add pkgconfig(gudev-1.0) BuildRequires: New optional dependency.
-------------------------------------------------------------------
Thu Nov 17 13:07:07 UTC 2016 - dimstar@opensuse.org
- Update to version 1.16.2:
+ DMS: flagged several methods as available since DMS 1.1.
+ NAS: Fix RX/TX mixup in 'Get LTE Cphy CA Info'.
+ qmi-proxy:
- Fix segfault when trying to use already disposed clients.
- Fix segfault when trying to use already disposed
transactions.
- Plug several memleaks in error conditions.
+ qmicli: Added support for IP type in --wds-start-network.
+ build: fix checking for libmbim.
-------------------------------------------------------------------
Tue Jul 12 07:20:33 UTC 2016 - bruno@ioda-net.ch
- Packaging:
+ add missing exclude in rpmlintrc
+ add BuildRequires for having QMUX over MBIM option
-------------------------------------------------------------------
Mon Jul 11 19:22:33 UTC 2016 - bruno@ioda-net.ch
- Update to version 1.16.0
+ New --enable-mbim-qmux option during configure, which enables
the support for using an MBIM control device as transport for the
QMI messages, only if the MBIM device implements the "QMI
service". This setting is automatically enabled if libmbim >=
1.14.0 is found in the system, and can be explicitly disabled
with --disable-mbim-qmux.
+ New request/responses:
- nas: new "Get LTE Cphy CA Info" request/response.
- nas: new "Force Network Search" request/response.
+ qmi-network:
- Fixed several bashisms.
+ Added compatibility symbols for some API breaks introduced in
1.14.0:
- qmi_message_dms_set_service_programming_code_input_get_\
current was renamed to qmi_message_dms_set_service_\
programming_code_input_get_current_code.
- qmi_message_dms_set_service_programming_code_input_get_new
was renamed to qmi_message_dms_set_service_programming_code_\
input_get_new_code.
- qmi_message_dms_set_service_programming_code_input_set_\
current was renamed to qmi_message_dms_set_service_\
programming_code_input_set_current_code.
- qmi_message_dms_set_service_programming_code_input_set_new
was renamed to qmi_message_dms_set_service_programming_code_\
input_set_new_code.
- QMI_NAS_SIM_REJECT_STATE_SIM_VAILABLE was renamed to
QMI_NAS_SIM_REJECT_STATE_SIM_AVAILABLE.
+ libqmi-glib:
- Fixed QMI_DMS_BAND_CAPABILITY_BC_15 enum value so that it
isn't treated as a negative value.
+ qmicli:
- Fixed --dms-get-band-capabilities output on 32-bit platforms.
- Fixed license text of the voice service implementation.
-------------------------------------------------------------------
Sat Apr 9 11:03:29 UTC 2016 - zaitor@opensuse.org
- Update to version 1.14.2:
+ Added compatibility symbols for some API breaks introduced in
1.14.0:
+ This release will recover the old names and still keep the new
ones around for compatibility.
+ libqmi-glib: Fixed QMI_DMS_BAND_CAPABILITY_BC_15 enum value so
that it isn't treated as a negative value. This may actually be
treated as a minor ABI break.
+ qmicli: Fixed --dms-get-band-capabilities output on 32-bit
platforms.
+ Fixed license text of the voice service implementation.
- Changes from version 1.14.0:
+ This version comes with a couple of small API breaks:
+ ECIO value type in "NAS Event Report Indication" is given as
unsigned.
+ ECIO value in ECIO List array type in "NAS Get Signal Strenght"
is given as unsigned.
+ QMI_NAS_SIM_REJECT_STATE_SIM_AVAILABLE enum name was fixed.
+ The library and tools now support working with modems which
only implement raw IP (i.e. no ethernet headers) in the WWAN
interface. This relies on the kernel to expose
'/sys/class/net/<WWAN>/qmi/raw_ip' sysfs files for each WWAN
network interface (available since Linux 4.5-rc1).
+ New initial support for the 'Voice' service.
+ The qmicli tool has been updated with several new
functionalities.
+ The qmi-network helper script has been updated with several new
features.
+ Added command completion support in qmicli.
+ Other bugfixes and minor improvements.
- Bump soname following upstream changes, and as a result: rename
subpackage to libqmi-glib5.
-------------------------------------------------------------------
Wed Mar 23 20:42:43 UTC 2016 - jengelh@inai.de
- Improve description; say what QMI is
-------------------------------------------------------------------
Mon Feb 15 18:57:05 UTC 2016 - zaitor@opensuse.org
- Update to version 1.12.8:
+ codegen: fix bug which was limiting the transaction ID of
request messages generated to just 8bits.
+ device: try to debug-print raw invalid QMI messages too.
+ Additional bugfixes:
- build: avoid C++ reserved keywords.
- nas: correct ID for Get RF Band Information result TLV.
- qmicli: fix PLMN printing.
-------------------------------------------------------------------
Thu Feb 26 20:36:04 UTC 2015 - zaitor@opensuse.org
- Update to version 1.12.6:
+ Fix big-endian handling of tlv->length.
-------------------------------------------------------------------
Wed Feb 25 18:39:52 UTC 2015 - mgorse@suse.com
- Added COPYING and COPYING.LIB and fixed license attribute for
debug utils
-------------------------------------------------------------------
Wed Feb 11 21:21:56 UTC 2015 - zaitor@opensuse.org
- Update to version 1.12.4:
+ Fix reading last call packet statistics.
+ Added support for the "DMS Set FCC" command, required to bring
out of low power mode several new Sierra devices.
-------------------------------------------------------------------
Sun Feb 1 09:13:26 UTC 2015 - zaitor@opensuse.org
- Update to version 1.12.2:
+ Fix bug reading sized-guints, which was making --dms-get-time
segfault.
+ Fix compilation warnings in 32 bit systems.
+ Add missing services in get_printable() and
get_version_introduced().
-------------------------------------------------------------------
Wed Jan 28 15:58:56 UTC 2015 - dimstar@opensuse.org
- Update to version 1.12.0:
+ New `--enable-qmi-username' option during configure, which
allows specifying which will be the user owning the
/dev/cdc-wdm character devices of all QMI modems (udev rules
are installed to change file ownership). If this option is
used, the qmi-proxy will only allow connections from processes
running by the specified user or by the root user.
+ New TLV builder and reader API, which is much more strict and
secure. The autogenerated code will no longer first check if
there is enough space available in the output message buffer
and then write the parsed contents. Instead, the new reader API
will be used, which is able to check for the expected size
directly before writing in the buffer.
+ New unit tests to check messages built by the libqmi-glib
library, using a fake proxy. In order to support these, the
QmiDevice has two new properties:
- "device-no-file-check": instructs the QmiDevice to avoid
checking if the specified file exists.
- "device-proxy-path": specifies a custom abstract socket path
for the QmiProxy, to avoid using the default one.
+ New A-GPS support in the PDS service:
- pds: added "Get Default Tracking Session" request/response.
- pds: added "Set Default Tracking Session" request/response.
- pds: added "Get AGPS Config" request/response.
- pds: added "Set AGPS Config" request/response.
+ Updated minumum available version of several messages:
- dms: "UIM Get IMSI" seems to be available in DMS 1.1 already.
- dms: "UIM Get ICCID" seems to be available in DMS 1.1
already.
+ Other bugfixes and minor improvements:
- Attach timeout and idle events to the thread-default context.
- Fix bashisms in the qmi-network script.
- Fix qmi_message_set_transaction_id() in non-CTL messages.
- Fix segfault due to race condition in the QmiProxy.
- Fixed printing contents of structs with fixed sized strings
in qmi-codegen.
- Drop libqmi-1.10.2-fix-bashisms.patch: fixed upstream.
-------------------------------------------------------------------
Thu Nov 27 01:11:00 UTC 2014 - Led <ledest@gmail.com>
- fix bashisms in qmi-network script
- add patches:
* libqmi-1.10.2-fix-bashisms.patch
-------------------------------------------------------------------
Mon Oct 6 06:51:48 UTC 2014 - mardnh@gmx.de
- Update to version 1.10.2:
+ release: bump version to 1.10.2
+ build: update NEWS
+ cli,nas: S/N ratio is dB, not dBm
+ cli,nas: limit resolution when printing floating point numbers
+ cli,nas: fix constant out of range issue in comparison
+ cli,nas: fix unmatched format specifiers
+ release: post release version bump to 1.10.1
+ release: bump version to 1.10.0
+ cli,nas: decode BCD-encoded PLMN and print it
+ cli,nas: pretty print field types
+ cli,nas: don't print fields with unknown data
+ cli,nas: add missing indentations
+ nas: add 'UMTS Info Neighboring LTE' TLV to 'Cell Location
Info'
+ nas: fix several TLV field types
+ nas: consolidate variable names
+ nas: add missing TLV field
+ nas: trivial fixes in indentation and alignment
+ docs,libqmi-glib: add 'NAS Get Cell Location Info'
documentation
+ qmi-codegen: handle 'gfloat' types
+ qmicli: fix wrong array reference cutnpaste bug
+ qmicli: add NAS Get Cell Location Info
+ nas: add "Get Cell Location Info"
+ libqmi-glib,proxy: update internal default timeout value
+ cli,wda: new '--wda-set-data-format' action
+ cli,wda: fix error string message
+ libqmi,wda: rename enum to "_RAW_IP" to match the name in the
CTL service
+ wda: implement 'Set Data Format' request/response
+ cli,wda: new '--wda-get-data-format' action
+ wda: new 'WDA' service
+ cli: new '--uim-get-card-status' action
+ uim: implement "Get Card Status"
+ data: add libqmi icon
+ license: add GPLv2+ license in addition to the LGPLv2+ one
+ build-aux,qmi-codegen: explicitly state which services have
flags64
+ libqmi-glib,device: print as debug flags used when opening or
releasing client
+ qmicli: add '--device-open-net' option
+ libqmi-glib: generate types for QmiDeviceOpenFlags and
QmiDeviceReleaseClientFlags
-------------------------------------------------------------------
Sun Jan 26 21:38:29 UTC 2014 - zaitor@opensuse.org
- Update to version 1.8.0:
+ This version comes with one small API break: Enum value
QMI_SERVICE_RMTFS is not 0x14, but 14.
+ Support for sharing the QMI port through multiple processes
with the new 'qmi-proxy' infrastructure.
+ api: Added new known service ID enumeration values.
+ wds: Added "Get Profile List", "Get Profile Settings", "Get
Default Settings" request/response.
+ cli: Add --wds-get-profile-list & --wds-get-default-settings.
+ man: Added qmi-network manpage, autogenerated from --help-all.
- Changes from version 1.6.0:
+ This version comes with one small API break: dms: 'SID' TLV in
"Activate Manual" is a guint8, not a string.
+ Extended API with macros to check for the libqmi-glib version
in use.
+ Setup libtool versioning in libqmi-glib.
+ Added initial support for the PBM (phonebook) service.
+ Added initial support for the UIM service.
+ Added initial support for the OMA (Open Mobile Alliance)
service.
+ nas: added "Get Tx Rx Info" request/response.
+ wds: added "Get Packet Statistics" request/response.
+ dms: added support for the 'PRL' TLV in "Activate Manual".
+ cli: add --nas-get-tx-rx-info, --wds-get-packet-statistics,
--get-service-version-info, --uim-read-transparent,
--uim-get-file-attributes.
+ cli: fix following network status until disconnected.
+ tests: use gtester to run unit tests.
+ man: added qmicli manpage, autogenerated from --help-all.
+ Also fixed several minor bugs and memory leaks.
- Bump soname following upstream changes, this means that
package libqmi-glib0 will be renamed to libqmi-glib1.
-------------------------------------------------------------------
Wed Jan 22 12:23:01 UTC 2014 - dimstar@opensuse.org
- Update to version 1.4.0:
+ dms: fix minimum version requirement for DMS Get/Set Operating
Mode.
+ nas: added 'Network Time' indication.
+ utils: fix reading sized uints in BE systems.
+ cli: add --dms-activate-manual.
+ cli: implemented setting System Selection Preference.
+ cli: fix technology preference persistence reporting.
+ cli: fix reading new PIN in '--dms-uim-change-pin'.
+ docs: always generate documentation at dist time.
+ tests: fixed BE/LE tests in BE systems.
- Changes from version 1.2.0:
+ Builds with Python3.
+ Fixed DMS activation code string handling.
+ Enhanced "start network" functionality in qmicli.
-------------------------------------------------------------------
Mon Dec 10 17:23:34 UTC 2012 - dimstar@opensuse.org
- Initial package, release 1.0.

137
libqmi.spec Normal file
View File

@ -0,0 +1,137 @@
#
# spec file for package libqmi
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2012 Dominique Leuenberger, Amsterdam, The Netherlands.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _soname libqmi-glib5
Name: libqmi
Version: 1.32.4
Release: 0
# NOTE: The file headers state LESSER GPL, which is a mistake. The upstream intended license is LIBRARY GPL 2.0+
Summary: Library to control QMI devices
License: LGPL-2.1-or-later AND GPL-2.0-or-later
Group: Hardware/Modem
URL: https://gitlab.freedesktop.org/mobile-broadband/libqmi
Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2
BuildRequires: help2man
BuildRequires: pkgconfig
BuildRequires: meson
BuildRequires: python3-base
BuildRequires: pkgconfig(bash-completion)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.56
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gudev-1.0) >= 232
BuildRequires: pkgconfig(mbim-glib) >= 1.18
BuildRequires: pkgconfig(qrtr-glib)
%description
libqmi is a glib-based library for talking to WWAN modems and devices
which speak the Qualcomm MSM Interface (QMI) protocol.
%package -n %{_soname}
Summary: Library to control QMI devices
Group: System/Libraries
# The tools are a useful addition
Recommends: %{name}-tools
%description -n %{_soname}
libqmi is a glib-based library for talking to WWAN modems and devices
which speak the Qualcomm MSM Interface (QMI) protocol.
%package tools
Summary: Helper utilities to control QMI devices
Group: Hardware/Modem
%description tools
libqmi is a glib-based library for talking to WWAN modems and devices
which speak the Qualcomm MSM Interface (QMI) protocol.
This package contains command line tools to manage such devices.
%package -n typelib-1_0-Qmi-1_0
Summary: Introspection bindings for %{name}
Group: System/Libraries
%description -n typelib-1_0-Qmi-1_0
libqmi is a glib-based library for talking to WWAN modems and devices
which speak the Qualcomm MSM Interface (QMI) protocol.
This package contains the introspection bindings for %{name}.
%package devel
Summary: Development files for the QMI device control library
Group: Development/Languages/C and C++
Requires: %{_soname} = %{version}
Requires: typelib-1_0-Qmi-1_0 = %{version}
%description devel
A GLib/GIO based library to control QMI devices
This package contains files required to link sources against libqmi.
%prep
%autosetup -p1
%build
# Do not rely on env for choosing python
sed -i "s|env python$|python3|g" build-aux/qmi-codegen/*
%meson
%meson_build
%install
%meson_install
%check
%meson_test
%ldconfig_scriptlets -n %{_soname}
%files tools
%license COPYING
%doc NEWS
%{_bindir}/qmi-network
%{_bindir}/qmicli
%{_bindir}/qmi-firmware-update
# Own dirs to avoid depending on them while building
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/qmicli
%{_libexecdir}/qmi-proxy
%{_mandir}/man1/qmi-network.1%{?ext_man}
%{_mandir}/man1/qmicli.1%{?ext_man}
%{_mandir}/man1/qmi-firmware-update.1%{?ext_man}
%files -n %{_soname}
%license COPYING.LIB
%{_libdir}/libqmi-glib.so.*
%files -n typelib-1_0-Qmi-1_0
%{_libdir}/girepository-1.0/Qmi-1.0.typelib
%files devel
%doc AUTHORS README.md TODO
%{_includedir}/libqmi-glib/
%{_libdir}/libqmi-glib.so
%{_libdir}/pkgconfig/qmi-glib.pc
%{_datadir}/gir-1.0/Qmi-1.0.gir
%changelog