fwupd/plugins/mtd
Richard Hughes faa7871b08 Remove duplicate ->probe() calls to speed up startup by 150ms
Now incorporate is fixed to copy across the properties we need in the
superclass, we don't need to do the subclass ->probe().

Note, we still need to do the subclassed ->probe() when using
FU_UDEV_DEVICE_FLAG_VENDOR_FROM_PARENT or when looking at properties
on the parent device.

This also removes the spurious 'already set GType to FuVliUsbhubDevice,
ignoring FuVliUsbhubDevice' messages when running the daemon.
2022-06-14 21:01:57 +01:00
..
fu-mtd-device.c Remove duplicate ->probe() calls to speed up startup by 150ms 2022-06-14 21:01:57 +01:00
fu-mtd-device.h Add a new plugin to handle MTD devices 2021-11-05 20:01:51 +00:00
fu-plugin-mtd.c Add FuProgress to ->startup() and ->coldplug() 2022-06-04 20:21:50 +01:00
fu-self-test.c Split out the GByte helpers to a new source file 2022-06-14 14:36:52 -05:00
meson.build mtd: Add some self tests using mtdram 2022-03-18 12:55:44 +00:00
mtd.quirk Add a new plugin to handle MTD devices 2021-11-05 20:01:51 +00:00
README.md mtd: Use the correct uSWID child for multiple coSWID children 2022-04-18 17:48:52 +01:00

MTD

Introduction

The Memory Technology Device (MTD) interface is a way of abstracting flash devices as if they were normal block devices.

See http://www.linux-mtd.infradead.org/doc/general.html for more details.

This plugin supports the following protocol ID:

  • org.infradead.mtd

GUID Generation

These devices use custom DeviceInstanceId values built from the device NAME and DMI data, e.g.

  • MTD\NAME_Factory
  • MTD\VENDOR_foo&NAME_baz
  • MTD\VENDOR_foo&PRODUCT_bar&NAME_baz

If the FirmwareGType quirk is set for the device then the firmware is read back from the device at daemon startup and parsed for the version number. In the event the firmware has multiple child images then the device GUIDs are used as firmware IDs.

Update Behavior

The MTD device is erased in chunks, written and then read back to verify.

Vendor ID Security

The vendor ID is set from the system vendor, for example DMI:LENOVO

External Interface Access

This plugin requires read/write access to /dev/mtd.