fwupd/plugins/fastboot
Richard Hughes d99f86023f trivial: Add getters to FuChunk
At the moment FuChunks are sometimes mutable, and sometimes immutable, and it's
all a bit too low level for comfort.

Before we can do any kind of optimisation or verification we need plugins to
stop reading directly from the C structure. The aim here is to make FuChunk
optionally mutable without making assumptions about the memory model, and also
to be able to introspect it for the docs.
2021-01-28 16:42:54 +00:00
..
data Add a plugin to update hardware that supports fastboot 2018-12-03 15:50:38 +00:00
fastboot.quirk Add a plugin to update hardware that supports fastboot 2018-12-03 15:50:38 +00:00
fu-fastboot-device.c trivial: Add getters to FuChunk 2021-01-28 16:42:54 +00:00
fu-fastboot-device.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-plugin-fastboot.c Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
meson.build Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
README.md Add external interface messages 2020-10-26 12:05:20 -05:00

Fastboot Support

Introduction

This plugin is used to update hardware that uses the fastboot protocol.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in ZIP file format. Inside the zip file must be all the firmware images for each partition and a manifest file. The partition images can be in any format, but the manifest must be either an Android flashfile.xml format file, or a QFIL partition_nand.xml format file.

For both types, all partitions with a defined image found in the zip file will be updated.

This plugin supports the following protocol ID:

  • com.google.fastboot

GUID Generation

These devices use the standard USB DeviceInstanceId values, e.g.

  • USB\VID_18D1&PID_4EE0&REV_0001
  • USB\VID_18D1&PID_4EE0
  • USB\VID_18D1

Quirk use

This plugin uses the following plugin-specific quirk:

Quirk Description Minimum fwupd version
FastbootBlockSize Block size to use for transfers 1.2.2

Vendor ID Security

The vendor ID is set from the USB vendor, for example USB:0x18D1

External interface access

This plugin requires read/write access to /dev/bus/usb.