I'd like to reverse-engineer a USB input device and create a Linux driver for it. What are the best resources for learning about how to do this?
This profile might be incomplete.
Open on dragonchat.org MelvianPronouns:
he/they
Website:
Personal infoAbout:
Typeface (frost) dragon who makes animations and sometimes software. Generally obsessive creative, interested in way too many things. I’m 18+ but I keep things SFW. Probably aroace. |
@melvian One example: https://gill.net.in/posts/reverse-engineering-a-usb-device-with-rust/
@melvian is it already HID or is it totally new?
lsusb can help you out here.
If it's HID, you might not need a full driver, just a userspace daemon talking to uinput. You won't need to get into the weeds of USB, just input.h and associated character devices.
If it's new, first you're gonna need to learn the fundamentals of USB. Unfortunately, I can't remember the name of the site I learned about endpoints and profiles and stuff from.
@melvian Wireshark