USBQ Toolkit
usbq.org
usbq.org
I enjoyed working on USBQ and learned a lot by doing it but the kernel loadable module it depends on wasn't written by me and probably needs some love. The usb-tools project and the related hardware has advanced quickly. Were I to do the same project over again (hacking Zwift for fun) I'd probably start there.
There is so much to USB... even some surprising things! [4]
[1]: https://www.beyondlogic.org/usbnutshell/usb1.shtml
[2]: https://github.com/usb-tools
[3]: https://www.greatscottgadgets.com/greatfet/one/
[4]: https://link.springer.com/chapter/10.1007%2F978-3-030-28752-...
See my other comment about recommending starting with usb-tools / Facedancer.
[1]: https://www.sstic.org/media/SSTIC2016/SSTIC-actes/usb_toolki...