summaryrefslogtreecommitdiff
path: root/README
blob: 4646aa4276818977762407a2443e1799e5652ce8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
JVdG USB Gadget
Copyright 2011 Julien Viard de Galbert <julien@silicone.homelinux.org>

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 <dick@streefland.net>
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.