Case study
telink-usb-ota: reconstructing Telink USB-HID firmware updates
telink-usb-ota reconstructs Telink's USB-HID OTA update exchange as a Rust Linux host tool for querying and flashing a CIDOO V65 v2 keyboard. Its protocol notes specify 33-byte HID reports, START and FINISH opcodes, 16-byte data chunks, CRC-16/MODBUS and the next-chunk acknowledgement rule, derived from updater and firmware disassembly and checked by the author against hardware.
- Targets
- Firmware · Protocol
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
- Evidence class
- C2 code & docs, no demo or download
- Stars
- 1
- Last commit
- 2026-09-23
- Language
- Rust
- License (GitHub)
- AGPL-3.0
GitHub data as of 2026-11-10
Evidence
- Observed
- Code and documentation observed; no download method or demo found.
- Checked
- 2026-11-08
Requirements & limits
- Prerequisites: Linux hidraw access, Rust and a compatible Telink device are required; flashing also requires a firmware image and --confirm-flash.
- Testing evidence: The author tested a CIDOO V65 v2 keyboard; other Telink devices require device-specific checking.
- Limits: Flashing has no reconnect-and-resume path or firmware read-back.
- License: AGPL-3.0-only license.
Cite
BibTeX
@misc{telink-usb-ota-case,
title = {{telink-usb-ota: reconstructing Telink USB-HID firmware updates}},
howpublished = {\url{https://github.com/jbonadiman/telink-usb-ota}},
url = {https://github.com/jbonadiman/telink-usb-ota},
urldate = {2026-11-06},
note = {Awesome REA entry: \url{https://awesomerea.org/resources/telink-usb-ota-case/}}
}Plain text
telink-usb-ota: reconstructing Telink USB-HID firmware updates. https://github.com/jbonadiman/telink-usb-ota (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/telink-usb-ota-case/
Useful? Star Awesome REA on GitHub2.4k
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · jbonadiman/telink-usb-ota · Revision df23c6e
More in Firmware and hardware
- K2 OpenKlipper: reconstructing the Creality K2 control stack · Case study
- ThinkCentre Fan Control: recovering fan telemetry and modes from the M70t Gen 6 · Case study
- strix-890m-macos: investigating Radeon 890M display bring-up · Case study
- Twin Famicom: reconstructing the console power board · Case study
- EasyRazer: reconstructing Razer analog keyboard controls · Case study
- Sisu DCP-3: reconstructing Nokia 3210 firmware behavior · Case study
All 260 entries in Firmware and hardwareFirmware and hardware case studies (175)