fwupd/plugins/synaptics-cape
Mario Limonciello 661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
..
tests Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
fu-plugin-synaptics-cape.c Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
fu-synaptics-cape-device.c Add a flag to indicate the device is signed or unsigned 2022-02-22 19:12:06 +00:00
fu-synaptics-cape-device.h plugins: add new plugin for Synaptics CAPE devices (#3746) 2021-09-15 03:42:07 +08:00
fu-synaptics-cape-firmware.c Allow patching firmware files at known offsets 2022-01-05 09:51:45 +00:00
fu-synaptics-cape-firmware.h plugins: add new plugin for Synaptics CAPE devices (#3746) 2021-09-15 03:42:07 +08:00
meson.build Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
README.md synaptics-cape: Add interrupt endpoint support (#3798) 2021-09-27 16:53:08 +08:00
synaptics-cape.quirk synaptics-cape: Add interrupt endpoint support (#3798) 2021-09-27 16:53:08 +08:00

Synaptics CAPE devices

Introduction

This plugin is used to update Synaptics CAPE based audio devices.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob.

This plugin supports the following protocol ID:

  • com.synaptics.cape

GUID Generation

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

  • USB\VID_1395&PID_0293

These devices also use custom GUID values, e.g.

  • SYNAPTICS_CAPE\CX31993
  • SYNAPTICS_CAPE\CX31988

Update Behavior

The firmware is deployed when the device is in normal runtime mode, and the device will reset when the new firmware has been written.

Vendor ID Security

The vendor ID is set from the USB vendor, in this instance set to USB:0x1395

Plugin-specific flags

  • use-in-report-interrupt: some devices will support IN_REPORT that allow host communicate with device over interrupt instead of control endpoint, since: 1.7.0

External Interface Access

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