fwupd/plugins/rts54hid
Richard Hughes 99df74f0c2 Add API to wait for a device
This allows us to ignore all the delays when the device is emulated, with the
idea being to do dozens of device emulations in the CI tests.

Also, do not call fu_progress_sleep() when the device is emulated.
2023-02-01 09:42:08 +00:00
..
fu-rts54hid-common.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-rts54hid-device.c Add API to wait for a device 2023-02-01 09:42:08 +00:00
fu-rts54hid-device.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-rts54hid-module.c rts54hid: Fix possible unsafe memcpy() 2022-09-09 19:23:29 +01:00
fu-rts54hid-module.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-rts54hid-plugin.c trivial: Fix two more plugin names 2022-10-05 12:46:04 +01:00
fu-rts54hid-plugin.h Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
meson.build Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
README.md Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00
rts54hid.quirk rts54hid: Use correct PID for test device 2021-10-08 10:29:21 +01:00

title: Plugin: RTS54HID

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

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:0x0BDA

Quirk Use

This plugin uses the following plugin-specific quirks:

Rts54TargetAddr

The target address of a child module.

Since: 1.1.3

Rts54I2cSpeed

The I2C speed to operate at (0, 1, 2).

Since: 1.1.3

Rts54RegisterAddrLen

The I2C register address length of commands.

Since: 1.1.3

External Interface Access

This plugin requires read/write access to /dev/bus/usb.