fwupd/plugins/analogix
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
..
analogix.quirk analogix: Add support for two new Startech devices. 2022-07-14 11:14:01 +01:00
fu-analogix-common.c Be smarter and include less header files per source file 2022-06-14 14:36:52 -05:00
fu-analogix-common.h Be smarter and include less header files per source file 2022-06-14 14:36:52 -05:00
fu-analogix-device.c Remove duplicate ->probe() calls to speed up startup by 150ms 2022-06-14 21:01:57 +01:00
fu-analogix-device.h trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
fu-analogix-firmware.c Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05:00
fu-analogix-firmware.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-plugin-analogix.c Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
meson.build Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
README.md analogix: Add support for two new Startech devices. 2022-07-14 11:14:01 +01:00

Analogix

Introduction

This plugin can flash the firmware of some Analogix billboard devices.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in a Intel Hex file format. The resulting binary image is either:

  • OCM section only
  • CUSTOM section only
  • Multiple sections excluded CUSTOM -- at fixed offsets and sizes

This plugin supports the following protocol ID:

  • com.analogix.bb

GUID Generation

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

  • USB\VID_1F29&PID_7518
  • USB\VID_050D&PID_008B
  • USB\VID_047D&PID_80C8
  • USB\VID_0502&PID_04C4
  • USB\VID_14B0&PID_01D0
  • USB\VID_14B0&PID_01D1

Update Behavior

The device is updated at runtime using USB control transfers.

Vendor ID Security

The vendor ID is set from the USB vendor. The list of USB VIDs used is:

  • USB:0x1F29
  • USB:0x050D
  • USB:0x047D
  • USB:0x0502
  • USB:0x14B0

External Interface Access

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