---
title: Plugin: Synaptics RMI4
---

## Introduction

This plugin updates integrated Synaptics RMI4 devices, typically touchpads.

## GUID Generation

The HID DeviceInstanceId values are used, e.g. `HIDRAW\VEN_06CB&DEV_4875`.

These devices also use custom GUID values constructed using the board ID, e.g.

* `SYNAPTICS_RMI\TM3038-002`
* `SYNAPTICS_RMI\TM3038`

## Update Behavior

The device usually presents in HID mode, and the firmware is written to the
device by switching to a SERIO mode where the touchpad is nonfunctional.
Once complete the device is reset to get out of SERIO mode and to load the new
firmware version.

## Vendor ID Security

The vendor ID is set from the udev vendor, in this instance set to `HIDRAW:0x06CB`

## Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in
a proprietary (but documented) file format.

This plugin supports the following protocol ID:

* `com.synaptics.rmi`

## External Interface Access

This plugin requires ioctl access to `HIDIOCSFEATURE` and `HIDIOCGFEATURE`.

## Version Considerations

This plugin has been available since fwupd version `1.3.3`.

## Owners

Anyone can submit a pull request to modify this plugin, but the following people should be
consulted before making major or functional changes:

* David Chiu: @blueue
* Vincent Huang: @vhuag
