fwupd/plugins/pixart-rf
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
..
tests Move the fuzzing files into the plugin directories 2021-10-22 15:24:05 +01:00
fu-pxi-ble-device.c Add API to wait for a device 2023-02-01 09:42:08 +00:00
fu-pxi-ble-device.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-pxi-common.c Lots of spelling fixes 2022-12-29 13:57:31 +00:00
fu-pxi-common.h Rename fu_udev_device_ioctl_full() as we broke ABI 2022-06-03 13:47:11 -05:00
fu-pxi-firmware.c pixart-rf: Fix the endianness of the magic 2022-09-18 12:40:33 +01:00
fu-pxi-firmware.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-pxi-plugin.c Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fu-pxi-plugin.h Build many more plugins as builtin 2022-09-28 17:01:23 +01:00
fu-pxi-receiver-device.c Add API to wait for a device 2023-02-01 09:42:08 +00:00
fu-pxi-receiver-device.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-pxi-wireless-device.c Add API to wait for a device 2023-02-01 09:42:08 +00:00
fu-pxi-wireless-device.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-self-test.c pixart-rf: Fix the endianness of the magic 2022-09-18 12:40:33 +01:00
meson.build trivial: don't refer to plugindir in the build system anymore 2022-09-28 15:12:10 -05:00
pixart-rf.quirk add new device support pixart-rf 2022-06-27 23:08:42 -05:00
README.md Include the plugin README text in the generated docs 2023-01-10 14:58:30 +00:00

title: Plugin: PixArt RF

Introduction

This plugin allows the user to update any supported Pixart RF Device using a custom HID-based OTA protocol

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.pixart.rf

GUID Generation

These devices use the standard HIDRAW DeviceInstanceId values for both Pixart Imaging, Inc and Primax Electronics, Ltd, e.g.

  • HIDRAW\VEN_093A&DEV_2801
  • HIDRAW\VEN_0461&DEV_4EEF
  • HIDRAW\VEN_0461&DEV_4EEF&NAME_${NAME}
  • HIDRAW\VEN_0461&DEV_4EEF&MODEL_${MODEL_NAME}

Additionally, a custom GUID values including the name is used, e.g.

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

External Interface Access

This plugin requires ioctl HIDIOCSFEATURE and HIDIOCGFEATURE access.