JVdG USB Gadget Copyright 2011 Julien Viard de Galbert This is my tiny project to learn on Linux driver development. The hardware schematics is available in gEDA gschem format and is licenced under GPL-2 or later. The AVR firmware requires USBtiny from Dick Streefland available at http://www.xs4all.nl/~dicks/avr/usbtiny/ It was tested with version 1.6. Simply add a link to it's usbtiny directory or update the location in the Makefile to build it: $ ln -s ../usbtiny-1.6/usbtiny The firware is available under GPL-2 or later as well. To check the device there is an USBlib (1.0) application in the test/ directory it is also available under GPL-2 or later. You will need to add a file in /etc/udev/rules.d in order to access the device. Here is mine: $ cat /etc/udev/rules.d/70-usb-prototype.rules SUBSYSTEM=="usb", ATTR{idVendor}=="6666", GROUP="julien", MODE="0666" Or you can run as root... Finally the linux driver is available in the linux_driver directory. It is licenced as GPL-2 like the kernel and is based on some tutorials from the web: - http://linuxdevcenter.com/pub/a/linux/2007/07/05/devhelloworld-a-simple-introduction-to-device-drivers-under-linux.html by Valerie Henson - http://www.linuxjournal.com/article/7353 by Greg Kroah-Hartman The driver is very basic, it only show some files under sysfs that reflect the device state.