ANN: libqmi 1.18.0 released

Aleksander Morgado aleksander at aleksander.es
Wed Mar 22 11:39:35 UTC 2017


Hey,

This is a new major release of libqmi, which will be the base for the
new 1.18.x stable series (the new "qmi-1-18" branch in git).

Main notes for packagers:

 * Require GLib >= 2.36.
 * The new qmi-firmware-update tool is built by default unless
explicitly disabled with '--disable-firmware-update'. There is really no
reason not to build this general utility, and probably worth packaging
it separately.
 * If building qmi-firmware-update on a system that will not have
ModemManager running, build with '--disable-mm-runtime-check' to avoid
looking for MM before an upgrade operation. Otherwise, this check will
be performed by default (recommended).
 * Require GUdev >= 147, or if building qmi-firmware-update on a system
without udev, build with '--without-udev' so that the tool is built but
with minimal capabilities.
 * This version is compatible with 1.16.x. There are 2 symbols that have
been removed from API (qmi_client_process_indication and
__qmi_user_allowed), but they were always considered "internal" to the
library.

Overview of changes in libqmi 1.18.0
----------------------------------------

The full list of new features include:

 * libqmi:
   ** Implemented support for vendor-specific commands through a new
qmi_device_command_full() operation and a new QmiMessageContext type.
The original qmi_device_command() is flagged as deprecated.
   ** 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 (especially important when closing devices
running QMI over MBIM, as this operation requires MBIM protocol
cleanups). The original qmi_device_close() is flagged as deprecated.
   ** Fixed QmiWmsCdmaCauseCode enum names, and provided a compatibility
layer keeping the old names (flagged as deprecated) to avoid breaking API.

 * New services:
   ** pdc: new "PDC" (persistent device configuration) service, which
among other things, allows configuring the HP lt4120.

 * New request/responses:
   ** dms: new sierra-specific "SWI Get Current Firmware" request/response.
   ** dms: new hp-specific "HP Change Device Mode" request/response.
   ** dms: new "Set Firmware ID" request/response.
   ** dms: new "Get Boot Image Download Mode" request/response.
   ** dms: new "Set Boot Image Download Mode" request/response.
   ** wds: new "Create Profile" request/response.
   ** wds: new "Modify Profile" request/response.
   ** wds: new "Delete Profile" request/response.
   ** wds: new "Set Event Report" request/response.
   ** wds: new "Go Dormant" request/response.
   ** wds: new "Go Active" request/response.
   ** wds: new "Get Dormancy Status" request/response.
   ** pdc: new "Reset" request/response.
   ** pdc: new "Register" request/response.
   ** pdc: new "Config Change" request/response.
   ** pdc: new "Get Selected Config" request/response.
   ** pdc: new "Set Selected Config" request/response.
   ** pdc: new "List Configs" request/response.
   ** pdc: new "Delete Config" request/response.
   ** pdc: new "Load Config" request/response.
   ** pdc: new "Activate Config" request/response.
   ** pdc: new "Get Config Info" request/response.
   ** pdc: new "Get Config Limits" request/response.
   ** pdc: new "Get Default Config Info" request/response.
   ** pdc: new "Deactivate Config" request/response.
   ** uim: new "Power Off SIM" request/response.
   ** uim: new "Power On SIM" request/response.
   ** nas: new "Get Operator Name" request/response.
   ** wds: new "Bind Mux Data Port" request/response.

* New indications:
   ** wds: new "Event report" indication.
   ** pdc: new "Get Selected Config" indication.
   ** pdc: new "Set Selected Config" indication.
   ** pdc: new "List Configs" indication.
   ** pdc: new "Load Config" indication.
   ** pdc: new "Activate Config" indication.
   ** pdc: new "Get Config Info" indication.
   ** pdc: new "Deactivate Config" indication.
   ** nas: new "Operator Name" indication.

 * 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.
   ** New '--dms-set-firmware-id' operation.
   ** New '--dms-get-software-version' operation.
   ** New '--dms-set-boot-image-download-mode' and
'--dms-get-boot-image-download-mode' operations to configure the default
download mode.
   ** New '--dms-set-firmware-preference' and
'--dms-get-firmware-preference' operations to manage the current
firmware preference.
   ** New '--wds-go-dormant', '--wds-go-active' and
'--wds-get-dormancy-status' operations to manage dormancy related
operations.
   ** New '--nas-get-rf-band-info' operation.
   ** New '--uim-sim-power-on' and '--uim-sim-power-off' operations.
   ** New '--nas-get-operator-name' operation.
   ** New '--wds-bind-mux-data-port' operation.
   ** Updated '--wda-set-data-format' to allow specifying endpoint type
and interface number.
   ** 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.

 * build:
   ** Bump GLib requirement to 2.36.
   ** Added GUdev requirement for qmi-firmware-update, that may be
explicitly disabled using the new '--without-udev' configure switch.
   ** The new '--disable-firmware-update' configure switch allows
completely disabling the qmi-firmware-update tool build.
   ** The new '--disable-mm-runtime-check' configure switch allows
disabling the runtime check for ModemManager done by the
qmi-firmware-update tool.

The following features which were backported to 1.16.x releases are also
present in libqmi 1.18.0:

 * dms: flagged several methods as available since DMS 1.1.
 * nas: Fix RX/TX mixup in 'Get LTE Cphy CA Info'.

 * libqmi-glib:
   ** Fix segfault in QmiDevice when cancellable already cancelled.
   ** Fix releasing transaction on MBIM error.

 * qmicli:
   ** Added support for IP type in --wds-start-network.
   ** Fix options receiving a list of flags.
   ** Fix second ctrl+c handling.
   ** Avoid converting to dB invalid SINR values.

 * 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.

 * build:
   ** Guard invocations of g_type_init().
   ** Fix checking for libmbim.

----------------------------------------

About libqmi:
    http://www.freedesktop.org/wiki/Software/libqmi

Download here:
    http://www.freedesktop.org/software/libqmi/libqmi-1.18.0.tar.xz

Verify it:
    $ md5sum libqmi-1.18.0.tar.xz
    25bae4e383ad77f491ad49b49e04fdcf  libqmi-1.18.0.tar.xz

API here:
    http://www.freedesktop.org/software/libqmi/libqmi-glib/1.18.0/

Please report bugs either to:
    libqmi-devel at lists.freedesktop.org

Or to bugzilla:
    https://bugs.freedesktop.org/buglist.cgi?product=libqmi

Cheers!

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list