mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-05 15:37:13 +00:00
![]() We were calling g_module_symbol() 2703 times, which is actually more expensive than you'd think. It also means the plugins are actually what we tell people they are: A set of vfuncs that get run. The reality before that they were dlsym'd functions that get called at pretty random times. |
||
---|---|---|
.. | ||
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_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.