Skip to content

CH9329 HID

Hardware Overview

CH9329 is a UART-to-USB HID controller that can emulate a standard keyboard, mouse, or custom HID device. Depending on its configured mode, it is recognized by a computer as the corresponding standard USB device.

image-20240812203814747

Usage notes

Based on user feedback, device disconnections may occur in practice. This has been largely mitigated by the change submitted by snltty: Fix CH9329 requiring replug after reboot.

To reduce mouse/keyboard latency, you can:

  • Increase the UART baud rate to 115200

Configuration

Two ways to configure CH9329 parameters:

  1. Set via environment variables when deploying with Docker
  2. Edit /etc/kvmd/override.yaml directly

Example:

1
2
3
4
5
6
kvmd:
    hid:
        type: ch9329
        device: /dev/ttyUSB0
        speed: 9600        # UART speed
        read_timeout: 0.3

Performance Tuning

Use the CH9329 Config & Test Tool for the following improvements:

  1. Faster response

    • Raise the baud from 9600 to 115200
    • Update the speed parameter in the One-KVM config accordingly

    This improves remote control responsiveness.

  2. Custom device identifiers

    • Customize USB VID/PID
    • Configure USB string descriptors

CH9329Test_CfgTool