fwupd/plugins/rts54hid
Richard Hughes 5308ea4fae Never use memcpy() in a possibly unsafe way
There are several subtle bugs in various places in fwupd caused by not treating
user-provided offsets into buffers as unsafe. As fwupd runs as root we have to
assume that all user firmware is evil, and also that devices cannot be trusted.

Make a helper to put all the logic into one place and convert all users.
2019-08-12 09:22:09 -05:00
..
fu-plugin-rts54hid.c Allow handling FORCE for devices that subclass FuDevice 2019-05-05 15:29:00 -05:00
fu-rts54hid-common.h Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
fu-rts54hid-device.c Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
fu-rts54hid-device.h Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
fu-rts54hid-module.c Never use memcpy() in a possibly unsafe way 2019-08-12 09:22:09 -05:00
fu-rts54hid-module.h Use '#pragma once' to avoid a lot of boilerplate 2019-02-09 08:42:30 -06:00
meson.build Show a console warning if loading an out-of-tree plugin 2019-01-19 07:26:20 +00:00
README.md trivial: Add the missing protocol IDs to the plugin READMEs 2019-01-29 22:28:09 +00:00
rts54hid.quirk trivial: Add fu_device_set_firmware_size() 2019-03-21 10:31:35 +00:00

Realtek RTS54HID HID Support

Introduction

This plugin allows the user to update any supported hub and attached downstream ICs using a custom HID-based flashing protocol. It does not support any RTS54xx device using the HUB update protocol.

Other devices connected to the RTS54HIDxx using I2C will be supported soon.

Firmware Format

The daemon will decompress the cabinet archive and extract a firmware blob in an unspecified binary file format.

This plugin supports the following protocol ID:

  • com.realtek.rts54

GUID Generation

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

  • USB\VID_0BDA&PID_1100&REV_0001
  • USB\VID_0BDA&PID_1100
  • USB\VID_0BDA

Child I²C devices are created using the device number as a suffix, for instance:

  • USB\VID_0BDA&PID_1100&I2C_01

Quirk use

This plugin uses the following plugin-specific quirks:

Quirk Description Minimum fwupd version
Rts54SlaveAddr The slave address of a child module. 1.1.3
Rts54I2cSpeed The I2C speed to operate at (0, 1, 2). 1.1.3
Rts54RegisterAddrLen The I2C register address length of commands 1.1.3