Cynthion
User Documentation
Cynthion Project Description
Getting Started with Cynthion
Using Cynthion with Packetry
Using Cynthion with Facedancer
Using Cynthion with USB Proxy
The
cynthion
command line interface
Tutorials
Protocol analysis of a USB keyboard
Emulation of a USB Device
Gateware Blinky
USB Gateware: Part 1 - Enumeration
USB Gateware: Part 2 - WCID Descriptors
USB Gateware: Part 3 - Control Transfers
USB Gateware: Part 4 - Bulk Transfers
Cynthion Hardware
Introduction
Device Overview
Self-made Hardware Bringup
The
apollo
command line utility
Support
Getting Help
Cynthion Projects and Mentions
Safety Information
Developer Documentation
Introduction
Bitstream Generation
Facedancer SoC Firmware Compilation
Cynthion
Cynthion Documentation
View page source
Cynthion Documentation
User Documentation
Cynthion Project Description
Getting Started with Cynthion
Prerequisites
Cynthion Host Software Installation
Test Installation
Updating Cynthion Host Software
Updating Cynthion Microcontroller Firmware and FPGA configuration flash
Using Cynthion with Packetry
Prerequisites
USB Analyzer Bitstream
Connect Hardware
Using Cynthion with Facedancer
Install the Facedancer library
Load Facedancer Bitstream and Firmware
Connect Hardware
Run a Facedancer example
More Information
Using Cynthion with USB Proxy
Connect Hardware
Run a USB Proxy example
More Information
The
cynthion
command line interface
Command Documentation
Tutorials
Protocol analysis of a USB keyboard
Prerequisites
Determine device speed
Connect
Capture
Troubleshooting
Emulation of a USB Device
Prerequisites
Try to Detect a HackRF One
Connect
Emulate the Vendor ID and Product ID
Try the Suggested Code
Handle the Version String Request
Handle the Part ID Request
Handle the Close Request
Put It All Together
Gateware Blinky
Prerequisites
Create a new Amaranth module
Obtain a platform resource
Timer State
Timer Logic
Put It All Together
Build and Upload FPGA Bitstream
Exercises
More information:
USB Gateware: Part 1 - Enumeration
Prerequisites
Define a USB Device
Testing the Device
Conclusion
Exercises
More information
Source Code
USB Gateware: Part 2 - WCID Descriptors
Prerequisites
WCID Devices
Testing the Device
Conclusion
Exercises
More information
Source Code
USB Gateware: Part 3 - Control Transfers
Prerequisites
Data Transfer between a Host and Device
Test Control Endpoints
Exercises
More information
Source Code
USB Gateware: Part 4 - Bulk Transfers
Prerequisites
Add Bulk Endpoints
Test Bulk Endpoints
Exercises
More information
Source Code
Cynthion Hardware
Introduction
Cynthion Hardware
Device Overview
Top View
Left View
Right View
Front View
Bottom View
Self-made Hardware Bringup
Prerequisites
Bring-up Process
Build/upload Saturn-V
Build/upload Apollo
Running Self-Tests
Troubleshooting
The
apollo
command line utility
Support
Getting Help
Cynthion Projects and Mentions
Safety Information
Warnings
Instructions For Safe Use
Developer Documentation
Introduction
Setting up a Development Environment
Prerequisites
Installation
Bitstream Generation
Cynthion Gateware
Facedancer SoC Firmware Compilation
Prerequisites
Install Rust Dependencies
Building and Running
Running Firmware Unit Tests
Firmware Examples