fwupd/plugins/wacom-usb/README.md
2021-07-18 14:42:47 -05:00

51 lines
1.6 KiB
Markdown

# Wacom USB
## 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+ license.
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`
## 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, for example set to `USB:0x056A`
## External Interface Access
This plugin requires read/write access to `/dev/bus/usb`.