My projects based on V-USB, a software implementation of USB v1.1 that lets you build really simple and cheap USB-devices.
V-USB
To compile and burn the code, the following command is used (AVR-ISP mkII programmer is used, change the -p argument):
make && sudo avrdude -p t461 -P usb -c avrispmkII -v -U flash:w:main.hex
Also see
"Linux and Atmel processors"
Problems
I have a device that doesn't work correctly. It uses a Tiny45 without crystal, and it works when connected to a hub but not when connected directly to the computer.
[212089.611468] usb 2-3: new low speed USB device using ohci_hcd and address 82
[212089.803082] usb 2-3: device descriptor read/64, error -62
[212089.993359] hub 2-0:1.0: unable to enumerate USB device on port 3
It works when connected directly to a laptop.
Some notes in troubleshooting this:
http://www.gossamer-threads.com/lists/gentoo/user/190517
http://forums.obdev.at/viewtopic.php?p=4339
"Since the device shows up with different addresses in the log file within a period of 2 seconds, I suppose that enumeration fails. "
"At the suggestion of eric_j in #avr on freenode, I added a pair of caps, a 47 uf electrolytic and a 0.1 uf across the power near the avr. Suddenly, it all works - both on and off bus power, with and without the programmer attached. "
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/54273
Found out it's probably an internal cabling problem (maybe noise interference going to the front or faulty ports) Plugged my usb thumbdrive into the rear port and it now works.