fwupd/plugins/cros-ec
Benson Leung a22310374e cros-ec: Provide device metadata as a part of to_string
Provide the following metadata:

"Dirty firmware" bit
Protocol version
Header type
Maximum PDU Size
Flash protection status
Raw version string
Key Version
Minimum rollback
2020-05-29 06:55:40 +01:00
..
data cros-ec: Initial skeleton 2020-05-29 06:55:40 +01:00
cros-ec.quirk cros-ec: Initial skeleton 2020-05-29 06:55:40 +01:00
fu-cros-ec-common.c cros-ec: Parse version number into triplet 2020-05-29 06:55:40 +01:00
fu-cros-ec-common.h cros-ec: Parse version number into triplet 2020-05-29 06:55:40 +01:00
fu-cros-ec-usb-device.c cros-ec: Provide device metadata as a part of to_string 2020-05-29 06:55:40 +01:00
fu-cros-ec-usb-device.h cros-ec: Add usb_findit functionality 2020-05-29 06:55:40 +01:00
fu-plugin-cros-ec.c cros-ec: Initial skeleton 2020-05-29 06:55:40 +01:00
meson.build cros-ec: Parse version number into triplet 2020-05-29 06:55:40 +01:00
README.md cros-ec: Initial skeleton 2020-05-29 06:55:40 +01:00

Chrome OS EC Support

Introduction

This plugin provides support for the firmware updates for Chrome OS EC project based devices.

Initially, it supports the USB endpoint updater, but lays the groundwork for future updaters which use other update methods other than the USB endpoint.

This is based on the chromeos ec project's usb_updater2 application [1].

Information about the USB update protocol is available at [2].

Firmware Format

The plugin at the moment does not support a firmware payload, but will support the Google firmware format used in Chrome OS firmware known as flashmap[3].

GUID Generation

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

  • USB\VID_18D1&PID_501A

Vendor ID Security

The vendor ID is set from the USB vendor, which is set to various different values depending on the model and device mode. The list of USB VIDs used is:

  • USB:0x18D1

[1] https://chromium.googlesource.com/chromiumos/platform/ec/+/master/extra/usb_updater/usb_updater2.c [2] https://chromium.googlesource.com/chromiumos/platform/ec/+/master/docs/usb_updater.md [3] https://www.chromium.org/chromium-os/firmware-porting-guide/fmap