Skip to content

Documenting the USB packet format of the WCH CH347

Notifications You must be signed in to change notification settings

nic3-14159/CH347-Research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CH347 Research

This project aims to document the USB packet format of the WCH CH347, a high-speed USB chip providing UART, I2C, SPI, and JTAG interfaces. The official datasheet does not have any information about the low level programming interface and mainly covers electrical specifications and functional descriptions. There is a demonstration application for Windows which does include source code, but this is only for the application itself and relies on calls into a proprietary library (CH347DLL) of which the API is documented in an included application development manual.

Although this library could theoretically be disassembled and reverse engineered, simply calling the functions and observing USB packets in tools such as Wireshark can often be easier, and this is the route taken by this project. Included in this repo are the source code for tools developed to assist in such a task, generated outputs, and analyses of the data. The library headers are not included in this repo and can be found in the demonstration application. The library DLL and vendor drivers are strangely not included in those downloads and are found in an updated CH341 driver package that appears to only be availble on the Chinese version of WCH's website.

About

Documenting the USB packet format of the WCH CH347

Topics

Resources

Stars

Watchers

Forks

Languages