Shit... kind of makes me want to learn Rust now!
Anyway, wonderful write up. No BS, both shortcuts if you just want to the code and in depth links e.g. https://www.beyondlogic.org/usbnutshell/usb1.shtml all written with a fun tone. Plenty of actually useful content showing us all that sure, it is not trivial to write a (USB) driver but it is also probably not as hard as we imagine. Particularly enjoyed the :
- userspace driver, namely being able to tinker locally without feel the pressure to push back the work to Linux the kernel itself
libusb
and other drivers, namely that there is a myriad of points to start from already, not just writing reverse engineering bits in memory to the new device and hoping it'll work