fwupd/plugins/scsi
Richard Hughes c4b7f42e43 Only compress one version of the builtin-quirks
Saving the quirks in the GResource section worked well, but it made the build
system very complicated and also meant the .data section was duplicated in
both `fwupd` and `fwupdtool` -- negating a lot of the hard-fought savings.

Simplify this feature so that we just `cat` all the quirk files together, then
gzip them into a single file. This means that at startup fwupd only needs to
check the mtime of one file, and weirdly it's actually faster to load a smaller
compressed file from disk that it is to load multiple uncompressed files.
2022-09-27 12:44:04 +01:00
..
fu-plugin-scsi.c scsi: Rearchitect the plugin to match a block device 2022-05-09 07:05:08 +01:00
fu-scsi-device.c Remove duplicate ->probe() calls to speed up startup by 150ms 2022-06-14 21:01:57 +01:00
fu-scsi-device.h scsi: Add a simple plugin to enumerate SCSI hardware 2022-02-24 17:21:51 +00:00
meson.build Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
README.md scsi: Support updating firmware on UFS devices 2022-05-10 08:20:06 +01:00
scsi.quirk scsi: Rearchitect the plugin to match a block device 2022-05-09 07:05:08 +01:00

SCSI

Introduction

This plugin adds support for SCSI storage hardware. Most SCSI devices are enumerated and some UFS devices may also be updatable.

Firmware is sent in 4kB chunks and activated on next reboot only.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in an unspecified binary file format.

This plugin supports the following protocol ID:

  • org.jedec.ufs

GUID Generation

These device use the SCSI DeviceInstanceId values, e.g.

  • SCSI\VEN_HP&DEV_EG0900JETKB&REV_HPD4
  • SCSI\VEN_HP&DEV_EG0900JETKB
  • SCSI\VEN_HP

Vendor ID Security

The vendor ID is set from the vendor, for example set to SCSI:HP

External Interface Access

This plugin requires only reading from sysfs for enumeration, but requires using a sg_io ioctl for UFS updates.