Skip to content

Conversation

@DeveloperMarius
Copy link

Hello @bsharet,

first of all thank you for this awesome project!
This pull request adds Hardware support for the Cynthion (https://greatscottgadgets.com/cynthion/).
As stated in the cynthion_phy.py file, I used some code from the Facedancer software project that supports the Cynthion in form of the "Moondancer" Backend.
Because the MoondancerApp class uses internal Facedancer classes like facedancer.device.USBDevice it does not work with umap2.
Thus, I rewrote the code to use umap2's internal classes like umap2.core.usb_device.USBDevice but still use some of the Facedancer classes to reduce the amount of copied code.

Because I needed support for Python3 I merged PR #34 into this Pull Request and fixed some remaining code lines that did not work with Python3.

I'm looking forward to your Feedback!

~ Marius

ref. #39

…t and promt the user to follow the documentation.
@ikarus23
Copy link

ikarus23 commented Sep 2, 2025

Hello Marius!

  1. First of all: Thank you for your work on this! It had been years since someone put love and effort in tools like this (USB host fuzzer, enumerator, etc.). Not sure why. As someone interested into embedded systems security, tools like this are really helpful to me.
  2. I tested your code and I'm happy to report it does work for me as well!
  3. There is still a python2 issue that can be quickly fixed.
umap2/utils/dev_generator.py", line 356
    print self.root_node.to_code()
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
  1. I think this repo is dead. Not sure if it will ever get merged :(
  2. Did you have a look at https://github.com/usb-tools/nu-map? It's a fork of umap2 with some updates. Unfortunately, it has also been pretty dead for some years. But the last maintainers (Michael Ossmann) is at the guy behind Great Scott Gadgets & the Cynthion. Maybe they are more willing to merge your code (if it is compatible)?

@DeveloperMarius
Copy link
Author

Hello @ikarus23,
thank you for your feedback!
I fixed some leftover python2 print statements and this error should now be fixed.
I think it takes some time to migrate the PR to nu-map, but I would be willing to do it.
I created an issue to ask if there is an interest in merging a PR like that and I would wait until I get feedback from them (usb-tools#18).
If a person reaches out to me that has to use nu-map with Cynthion I would be willing to migrate it beforehand.

~ Marius

@ikarus23
Copy link

ikarus23 commented Sep 2, 2025

Hi @DeveloperMarius,

thanks for the quick python2 fix!

Not sure if the port to nu-map is of high priority. So far I don't even know what the major differences between umap2 and nu-map are. I also suggested that the nu-map project could become a part of GreatScottGadgetes (usb-tools#16 (comment)) since they already adopted the facedancer repository. And I'm not sure if Kate (https://github.com/ktemkin) is still around. She initiated the nu-map project and the USB-tools group (https://github.com/usb-tools). There is a discord server for the USB-tools group. I can ask there. Leaving the issue open on nu-map seams like a good idea too. Let's see if there will be feedback.

@DeveloperMarius
Copy link
Author

I would appreciate it if you could ask in the discord. Just let me know if someone finds a good solution for this.
Thank you for the effort!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants