fwupd/plugins/emmc
Daniil Lunev 0af67e3e50 emmc: Filter out rpmb and boot block devices
The move to query sysattr for the name inadvertly changed the extent of
devices accepted by emmc probe. udev rules setup ID_NAME only for main
block device, but not for rpmb or boot, while 'name' sysattr is present
for all of them for they point to the same parent. The original check
for name was brittle either way and relied on a side effect of udev
subsystem. This CL introdues a proper filtering check that picks up only
the main devices. That is important because an attempt to perfrom an
update not on the main device returns a cryptic timeout error.

Change-Id: I3c2f5597c3e3ca2124c87cade3f345dece94027e
2021-07-14 07:38:45 +01:00
..
emmc.quirk Simplify the quirk file format 2021-03-03 08:30:34 +00:00
fu-emmc-device.c emmc: Filter out rpmb and boot block devices 2021-07-14 07:38:45 +01:00
fu-emmc-device.h trivial: fixup includes for a variety of plugins 2021-06-14 10:12:45 +01:00
fu-plugin-emmc.c Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
meson.build Move the plugin build logic to the plugins themselves 2021-02-18 14:46:20 +00:00
README.md Add a new internal flag to opt-in to GUID matching 2021-02-25 15:47:25 +00:00

eMMC Support

Introduction

This plugin reads the sysfs attributes corresponding to eMMC devices. It uses the kernel MMC API for flashing devices.

Protocol

eMMC devices support the org.jedec.mmc protocol.

GUID Generation

These devices use the following instance values:

  • EMMC\%NAME%
  • EMMC\%MANFID%&%OEMID%
  • EMMC\%MANFID%&%OEMID%&%NAME%

Update Behavior

The firmware is deployed when the device is in normal runtime mode, but it is only activated when the device is rebooted.

Vendor ID Security

The vendor ID is set from the EMMC vendor, for example set to EMMC:{$manfid}

External interface access

This plugin requires ioctl MMC_IOC_CMD and MMC_IOC_MULTI_CMD access.