| <?xml version="1.0" encoding="UTF-8" ?> |
| |
| <!-- |
| ModemManager 1.0 Interface Specification |
| |
| Copyright (C) 2011-2013 Red Hat, Inc. |
| Copyright (C) 2011-2013 Google, Inc. |
| Copyright (C) 2011-2013 Lanedo GmbH |
| Copyright (C) 2018 Aleksander Morgado <aleksander@aleksander.es> |
| --> |
| |
| <node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd"> |
| |
| <!-- |
| org.freedesktop.ModemManager1.Modem.Firmware: |
| @short_description: The ModemManager Firmware interface. |
| |
| This interface provides access to perform different firmware-related operations |
| in the modem, including listing the available firmware images in the module and |
| selecting which of them to use. |
| |
| This interface does not provide direct access to perform firmware updates in |
| the device. Instead, it exposes information about the expected firmware update |
| method as well as method-specific details required for the upgrade to happen. |
| The actual firmware upgrade may be performed via the Linux Vendor Firmware Service |
| and the <ulink url="https://fwupd.org">fwupd</ulink> daemon. |
| |
| This interface will always be available as long a the modem is considered |
| valid. |
| --> |
| <interface name="org.freedesktop.ModemManager1.Modem.Firmware"> |
| |
| <!-- |
| List: |
| @selected: The unique name of the selected firmware image, or the empty string if no image is selected. |
| @installed: An array of dictionaries containing the properties of the installed firmware images. |
| |
| List installed firmware images. |
| |
| Firmware slots and firmware images are identified by arbitrary opaque |
| strings. |
| |
| Firmware images are represented as dictionaries of properties. |
| Certain properties are pre-defined, and some are required: |
| |
| <variablelist> |
| <varlistentry><term><literal>"image-type"</literal></term> |
| <listitem> |
| (Required) Type of the firmware image, given as a |
| <link linkend="MMFirmwareImageType">MMFirmwareImageType</link> value |
| (signature <literal>"u"</literal>). Firmware images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GENERIC:CAPS">MM_FIRMWARE_IMAGE_TYPE_GENERIC</link> |
| will only expose only the mandatory properties. |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"unique-id"</literal></term> |
| <listitem> |
| (Required) A user-readable unique ID for the firmware image, given as a |
| string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"gobi-pri-version"</literal></term> |
| <listitem> |
| (Optional) The version of the PRI firmware image, in images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>, |
| given as a string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"gobi-pri-info"</literal></term> |
| <listitem> |
| (Optional) Additional information of the PRI image, in images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>, |
| given as a string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"gobi-boot-version"</literal></term> |
| <listitem> |
| (Optional) The boot version of the PRI firmware image, in images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>, |
| given as a string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"gobi-pri-unique-id"</literal></term> |
| <listitem> |
| (Optional) The unique ID of the PRI firmware image, in images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>, |
| given as a string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"gobi-modem-unique-id"</literal></term> |
| <listitem> |
| (Optional) The unique ID of the Modem firmware image, in images of type |
| <link linkend="MM-FIRMWARE-IMAGE-TYPE-GOBI:CAPS">MM_FIRMWARE_IMAGE_TYPE_GOBI</link>, |
| given as a string value (signature <literal>"s"</literal>). |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| --> |
| <method name="List"> |
| <arg name="selected" type="s" direction="out" /> |
| <arg name="installed" type="aa{sv}" direction="out" /> |
| </method> |
| |
| <!-- |
| Select: |
| @uniqueid: The unique ID of the firmware image to select. |
| |
| Selects a different firmware image to use, and immediately resets the |
| modem so that it begins using the new firmware image. |
| |
| The method will fail if the identifier does not match any of the names |
| returned by |
| <link linkend="gdbus-method-org-freedesktop-ModemManager1-Modem-Firmware.List">List()</link>, |
| or if the image could not be selected for some reason. |
| |
| Installed images can be selected non-destructively. |
| --> |
| <method name="Select"> |
| <arg name="uniqueid" type="s" direction="in" /> |
| </method> |
| |
| <!-- |
| UpdateSettings: |
| |
| Detailed settings that provide information about how the module should be |
| updated. |
| |
| The settings are given as a bitmask of <link linkend="MMModemFirmwareUpdateMethod">MMModemFirmwareUpdateMethod</link> |
| values specifying the type of firmware update procedures expected followed by a |
| dictionary that includes other parameters applicable to the specific methods reported. |
| |
| <variablelist> |
| <varlistentry> |
| <listitem> |
| <para> |
| The following settings are mandatory as long as the reported update method is not |
| <term><link linkend="MM-MODEM-FIRMWARE-UPDATE-METHOD-NONE:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_NONE</link></term>. |
| </para> |
| <variablelist> |
| <varlistentry><term><literal>"device-ids"</literal></term> |
| <listitem> |
| (Required) This property exposes the list of device IDs associated to a given |
| device, from most specific to least specific. (signature <literal>'as'</literal>). |
| E.g. a list containing: <literal>"USB\VID_413C&PID_81D7&REV_0001"</literal>, |
| <literal>"USB\VID_413C&PID_81D7"</literal> and <literal>"USB\VID_413C"</literal>. |
| </listitem> |
| </varlistentry> |
| <varlistentry><term><literal>"version"</literal></term> |
| <listitem> |
| (Required) This property exposes the current firmware version string of the module. |
| If the module uses separate version numbers for firmware version and carrier configuration, |
| this version string will be a combination of both, and so it may be different to the |
| version string showed in the #org.freedesktop.ModemManager1.Modem:Revision property. |
| (signature <literal>'s'</literal>) |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| |
| <variablelist> |
| <varlistentry><term><link linkend="MM-MODEM-FIRMWARE-UPDATE-METHOD-FASTBOOT:CAPS">MM_MODEM_FIRMWARE_UPDATE_METHOD_FASTBOOT</link></term> |
| <listitem> |
| <para> |
| Devices supporting the fastboot firmware update method require exposing the |
| following additional settings: |
| </para> |
| <variablelist> |
| <varlistentry><term><literal>"fastboot-at"</literal></term> |
| <listitem> |
| (Required) This property exposes the AT command that should be sent to the |
| module to trigger a reset into fastboot mode (signature <literal>'s'</literal>) |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| --> |
| <property name="UpdateSettings" type="(ua{sv})" access="read" /> |
| |
| </interface> |
| </node> |