Unknown document
lxs-touch
Introduction
This plugin supports firmware updates for the LX Semicon SW42101 touch controller. It communicates over the HID RAW interface (hidraw) and handles two protocol modes: SWIP and DFUP.
Protocol Modes
- SWIP (Software In-Protocol): Normal touch operation mode. Version and panel information can be queried.
- DFUP (Device Firmware Upgrade Protocol): Bootloader mode dedicated to firmware updates.
Firmware Update Flow
- Setup: On device connection, check the protocol mode and read version and panel information.
- Detach: Switch from SWIP mode to DFUP mode (
REG_CTRL_SETTER, mode=0x02) and wait for replug. - Write: Write firmware to flash in chunks while in DFUP mode.
- Attach: After firmware write completes, restart the device via watchdog reset (
CMD_WATCHDOG_RESET).
Flash Write Modes
| Mode | Chunk size | Transmit unit | Verification |
|---|---|---|---|
| Normal | 128 bytes | 16 bytes | None |
| 4K | 4096 bytes | 48 bytes | Yes (5 retries) |
4K mode support is auto-detected at runtime by querying the device (CMD_FLASH_4KB_UPDATE_MODE).
Firmware Formats
| Type | Size | Flash offset | Description |
|---|---|---|---|
| Application-only | 112KB | 0x4000 |
Application area only |
| Boot + Application | 128KB | 0x0000 |
Bootloader + full application |
Version Format
The version consists of four fields in hex: {boot_ver}.{core_ver}.{app_ver}.{param_ver}
Example: 00A1.00B2.00C3.00D4
Communication Protocol
Uses HID Output Reports (Report ID 0x09, 64-byte buffer).
Read response header is 4 bytes; payload data starts at offset 4.
Vendor ID Security
The vendor ID is set from the HID vendor ID, in this instance set
to HIDRAW:0x1FD2.
External Interface Access
This plugin requires ioctl HIDIOCSFEATURE and HIDIOCGFEATURE access.
Version Considerations
This plugin has been available since fwupd version 2.1.2.