fwupd/plugins/synaptics-cape
Richard Hughes 0491b07a93 Make the FuFirmware->parse() vfunc more helpful
This removes the 100% unused addr_end parameter and explicitly makes
the addr_start into the start offset in more cases.
2022-06-27 15:40:11 -05: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 synaptics-cape: Fix a big endian compile warning 2022-06-26 17:28:04 -05:00
fu-synaptics-cape-device.h trivial: Remove the class structs for types that use G_DECLARE_FINAL_TYPE 2022-05-21 12:19:50 +01:00
fu-synaptics-cape-firmware.c Make the FuFirmware->parse() vfunc more helpful 2022-06-27 15:40:11 -05: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 trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
README.md synaptics-cape: Add interrupt endpoint support (#3798) 2021-09-27 16:53:08 +08:00
synaptics-cape.quirk synaptics-cape: Don't use 'dongle' to describe hardware 2022-05-23 14:56:45 +01: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.