fwupd/plugins/wacom-usb
Richard Hughes 56ac823af9 Set the protocol per-device not per-plugin
Some plugins have devices with more than one protocol. Logically the protocol
belongs to the device, not the plugin, and in the future we could use this to
further check firmware that's about to be deployed.

This is also not exported into libfwupd (yet?) as it's remains a debug-feature
only -- protocols are not actually required for devices to be added.
2019-11-25 18:01:54 +00:00
..
data trivial: Add some debugging data to wacom-usb 2019-01-02 09:50:39 +00:00
fu-plugin-wacom-usb.c Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
fu-self-test.c Allow a custom FuFirmwareImage->write() in superclassed objects 2019-10-15 08:10:11 -05:00
fu-wac-common.c wacom-usb: Make updating less verbose 2019-02-12 10:16:42 -06:00
fu-wac-common.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-wac-device.c Set the protocol per-device not per-plugin 2019-11-25 18:01:54 +00:00
fu-wac-device.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-wac-firmware.c Use FuFirmware as a container for firmware images 2019-08-08 13:10:57 +01:00
fu-wac-firmware.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-wac-module-bluetooth.c Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
fu-wac-module-bluetooth.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-wac-module-touch.c Allow a custom FuFirmwareImage->write() in superclassed objects 2019-10-15 08:10:11 -05:00
fu-wac-module-touch.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
fu-wac-module.c Use fu_common_string_append_kv() in subclassed device 2019-08-14 16:48:37 +01:00
fu-wac-module.h trivial: Remove G_BEGIN_DECLS from all private headers 2019-10-09 20:02:16 +01:00
meson.build Use FuFirmware as a container for firmware images 2019-08-08 13:10:57 +01:00
README.md Fix some typos spotted using codespell 2019-04-08 12:47:53 +01:00
wacom-usb.quirk remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface 2019-07-15 09:09:29 +01:00

Wacom USB Support

Introduction

Wacom provides interactive pen displays, pen tablets, and styluses to equip and inspire everyone make the world a more creative place.

From 2016 Wacom has been using a HID-based proprietary flashing algorithm which has been documented by support team at Wacom and provided under NDA under the understanding it would be used to build a plugin under a LGPLv2+ licence.

Wacom devices are actually composite devices, with the main ARM CPU being programmed using a more complicated erase, write, verify algorithm based on a historical update protocol. The "sub-module" devices use a newer protocol, again based on HID, but are handled differently depending on their type.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in the following formats:

  • Touch module: Intel HEX file format
  • Bluetooth module: Unknown airoflash file format
  • EMR module: Plain SREC file format
  • Main module: SREC file format, with a custom WACOM vendor header

This plugin supports the following protocol ID:

  • com.wacom.usb

GUID Generation

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

  • USB\VID_056A&PID_0378&REV_0001
  • USB\VID_056A&PID_0378
  • USB\VID_056A