mirror of
https://git.proxmox.com/git/fwupd
synced 2026-01-10 13:01:04 +00:00
Some parsers are ignoring the magic when using _FLAG_IGNORE_CHECKSUM (which is wrong; fuzzers have no problem with enforcing a static prefix) and other either disregard the offset or check the magic in an unsafe way. Also, use FWUPD_ERROR_INVALID_FILE consistently for magic failure. Add a vfunc, and move all the clever code into one place. |
||
|---|---|---|
| .. | ||
| tests | ||
| fu-plugin-pixart-rf.c | ||
| fu-pxi-ble-device.c | ||
| fu-pxi-ble-device.h | ||
| fu-pxi-common.c | ||
| fu-pxi-common.h | ||
| fu-pxi-firmware.c | ||
| fu-pxi-firmware.h | ||
| fu-pxi-receiver-device.c | ||
| fu-pxi-receiver-device.h | ||
| fu-pxi-wireless-device.c | ||
| fu-pxi-wireless-device.h | ||
| fu-self-test.c | ||
| meson.build | ||
| pixart-rf.quirk | ||
| README.md | ||
PixArt RF Devices
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_2801HIDRAW\VEN_0461&DEV_4EEFHIDRAW\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.