You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since about a year I've been working on a new Facedancer backend for boards made by Benjamin Vernoux @bvernoux. This is a R&D project I'm doing at my company @quarkslab in direct collaboration with Benjamin.
The backend is for boards based on the WCH569 chip from WCH, a RISC-V chip which supports both USB3 and USB2. The project started with two HydraUSB3 boards connected through HSPI, but we moved to a new single board that splits the USB3/USB2 on a single chip as shown in the image below (currently in prod, nearly finished). The goal is to propose a faster backend than the current Facedancer21 and GreatFET One, support USB2 High-speed and more endpoints.
Here are some characteristics and results of this backend, which I think would make it a good addition to this project:
supports USB2 High-speed, Full-speed and should support low-speed
6 endpoints including EP0, in both IN/OUT directions simultaneously
endpoint numbers from 0 to 15 (but with incompatibilities, some EP numbers cannot be used together, check backend)
support for NAKs, but also priming using handle_buffer_empty
tested emulation of a mouse peripheral and the included mass storage example
tested proxy mode with a High-speed USB key (got 1.5MB transfer rate while proxying a 1.5GB file), tested proxy mode with a Full-speed mouse
made the stress tests pass (both highly stressed and regular) : highly stressed crashes after a few thousand tries. This should be ok in regular use, but can explain timeouts or data corruption in highly stressed scenarios.
We published a blogpost a few weeks ago, but there have been quite a few changes to make the stress test work.
I'm proposing the following PRs from high to low priority :
New mouse peripheral and tests #94 : a mouse peripheral i implemented when starting with Facedancer, speed and loopback tests that could need more polish
Best,
The text was updated successfully, but these errors were encountered:
I inadvertently used the logging function instead of the log function in the handle_set_interface_request method of USBInterface, this PR fixes it #116
Hi,
Since about a year I've been working on a new Facedancer backend for boards made by Benjamin Vernoux @bvernoux. This is a R&D project I'm doing at my company @quarkslab in direct collaboration with Benjamin.
The backend is for boards based on the WCH569 chip from WCH, a RISC-V chip which supports both USB3 and USB2. The project started with two HydraUSB3 boards connected through HSPI, but we moved to a new single board that splits the USB3/USB2 on a single chip as shown in the image below (currently in prod, nearly finished). The goal is to propose a faster backend than the current Facedancer21 and GreatFET One, support USB2 High-speed and more endpoints.
Here are some characteristics and results of this backend, which I think would make it a good addition to this project:
handle_buffer_empty
We published a blogpost a few weeks ago, but there have been quite a few changes to make the stress test work.
I'm proposing the following PRs from high to low priority :
Best,
The text was updated successfully, but these errors were encountered: