## org.freedesktop.ModemManager1.Modem.Firmware org.freedesktop.ModemManager1.Modem.Firmware — The ModemManager Firmware interface. |

## Methods

    List   (OUT s      selected,
            OUT aa{sv} installed);
    Select (IN  s      uniqueid);

## Description

This interface allows clients to select or install firmware images on modems.

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:

`"image-type"` | (Required) Type of the firmware image, given as a MMFirmwareImageType value (signature `"u"`). Firmware images of type MM_FIRMWARE_IMAGE_TYPE_GENERIC will only expose only the mandatory properties.
`"unique-id"` | (Required) A user-readable unique ID for the firmware image, given as a string value (signature `"s"`).
`"gobi-pri-version"` | (Optional) The version of the PRI firmware image, in images of type MM_FIRMWARE_IMAGE_TYPE_GOBI, given as a string value (signature `"s"`).
`"gobi-pri-info"` | (Optional) Additional information of the PRI image, in images of type MM_FIRMWARE_IMAGE_TYPE_GOBI, given as a string value (signature `"s"`).
`"gobi-boot-version"` | (Optional) The boot version of the PRI firmware image, in images of type MM_FIRMWARE_IMAGE_TYPE_GOBI, given as a string value (signature `"s"`).
`"gobi-pri-unique-id"` | (Optional) The unique ID of the PRI firmware image, in images of type MM_FIRMWARE_IMAGE_TYPE_GOBI, given as a string value (signature `"s"`).
`"gobi-modem-unique-id"` | (Optional) The unique ID of the Modem firmware image, in images of type MM_FIRMWARE_IMAGE_TYPE_GOBI, given as a string value (signature `"s"`).

## Method Details

### The List() method

    List (OUT s      selected,
          OUT aa{sv} installed);

List installed firmware images.

Depending on the type of modem, installed images may be stored on the host or the modem.

Installed images can be selected non-destructively.

`OUT s `selected``: | The unique name of the selected firmware image, or the empty string if no image is selected.
`OUT aa{sv} `installed``: | An array of dictionaries containing the properties of the installed firmware images.

### The Select() method

    Select (IN  s uniqueid);

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 List(), or if the image could not be selected for some reason.

`IN s `uniqueid``: | The unique ID of the firmware image to select.