a good video about how to make a usb driver for linux: https://www.youtube.com/watch?v=IXBC85SGC0Q things UDC = USB Device Controller