# ktctl: reconstructing FiiO JA11 USB equalizer control

> ktctl reconstructs the FiiO JA11 runtime USB control protocol in a Rust CLI and TUI for five-band PEQ, presets and gain. Its protocol notes specify framing, CRC-8/MAXIM and command bytes derived from Android app analysis and device probing. The author reports a successful read, write and save round trip on a JA11.

- Type: Case study
- Targets: Protocol
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/ParkWardRR/fiio-ja11-jcally-jm12-moondropkt02-kt02h20-dac-amp-control>
- Primary source: <https://github.com/ParkWardRR/fiio-ja11-jcally-jm12-moondropkt02-kt02h20-dac-amp-control/blob/c59b923dc46a4666af2e7ae4b898256c5d92a293/README.md>
- Catalog page: <https://awesomerea.org/resources/ktctl-ja11-case/>
- Record JSON: <https://awesomerea.org/resources/ktctl-ja11-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/ktctl-ja11-case/index.md)

## Requirements & limits

- **Prerequisites:** Rust 1.75+ and macOS or Linux; USB access requires a JA11 or compatible device.
- **Limits:** JCALLY JM12 and Moondrop KT02H20 compatibility remains unconfirmed; master-gain encoding lacks audio confirmation.
- **License:** Blue Oak Model License 1.0.0.

## Primary sources

1. <https://github.com/ParkWardRR/fiio-ja11-jcally-jm12-moondropkt02-kt02h20-dac-amp-control/blob/c59b923dc46a4666af2e7ae4b898256c5d92a293/README.md>
2. <https://github.com/ParkWardRR/fiio-ja11-jcally-jm12-moondropkt02-kt02h20-dac-amp-control/blob/c59b923dc46a4666af2e7ae4b898256c5d92a293/docs/PROTOCOL.md>

## More in Protocols

- [AppleAVE2: reconstructing the IOKit wire format and driver validation path](https://awesomerea.org/resources/appleave2-wire-format-case/index.md) · Case study
- [Indian Thunder Stroke: decoding motorcycle CAN signals](https://awesomerea.org/resources/indian-thunderstroke-canbus-case/index.md) · Case study
- [Smart Ring Dashboard: direct BLE access to generic smart rings](https://awesomerea.org/resources/smart-ring-dashboard-case/index.md) · Case study
- [Thermal Cam: decoding the Thermal Master P1 USB stream](https://awesomerea.org/resources/thermal-cam-p1-protocol-case/index.md) · Case study
- [ControlVault 3: reconstructing Linux fingerprint support](https://awesomerea.org/resources/controlvault3-linux-fingerprint-case/index.md) · Case study
- [glorouter: reconstructing the Huawei B311-221 HiLink API](https://awesomerea.org/resources/glorouter-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
