FwupdPlugin.Device.read_firmware

### Method

# FwupdPlugin Deviceread_firmware

#### Declaration [src]

    FuFirmware*
    fu_device_read_firmware (
      FuDevice* self,
      FuProgress* progress,
      GError** error
    )

#### Description [src]

Reads firmware from the device by calling a plugin-specific vfunc. The device subclass should try to ensure the firmware does not contain any serial numbers or user-configuration values and can be used to calculate the device checksum.

The return value can be converted to a blob of memory using fu_firmware_write().

Available since: | 1.0.8

#### Parameters

`progress` | `FuProgress`
| A `FuProgress`.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `FuFirmware`
| A `FuFirmware`, or `NULL` for error.
| The caller of the method takes ownership of the data, and is responsible for freeing it.