This will bridge the usb avr to the vhci-usb virtual usb host. You'll need vhci-usb and vhci-usb-lib to build and use it. (http://sourceforge.net/projects/usb-vhci/) When setup, your avr project will connect to the linux usb system as a real device. BUILDING usb-vhci ----------------- git://usb-vhci.git.sourceforge.net/gitroot/usb-vhci/vhci_hcd The driver doesn't compile on recent linux kernels. (commit 203800f0 Mon Apr 4) 0001-SPIN_LOCK_UNLOCKED-has-been-depreciated.patch and 0002-need-transaction-translator.patch should fix that. then simply "make && make install" might need to copy the api header file: mkdir -p /usr/local/include/linux sudo cp usb-vhci.h /usr/local/include/linux BUILDING libusb_vhci -------------------- git://usb-vhci.git.sourceforge.net/gitroot/usb-vhci/libusb_vhci This was a little more troublesome, but I didn't care to figure it out. with libusb_vhci trunk (commit 5927f39a Sun Mar 27) add 0001-Comment-out-function-that-doesn-t-compile.patch patch to remove that won't compile (and we don't use) then: cd src gcc -c libusb_vhci.c ar rcs libusb_vhci.a libusb_vhci.o sudo cp libusb_vhci.a /usr/local/lib mkdir -p /usr/local/include/linux sudo cp libusb_vhci.h /usr/local/include/linux Gives us what we need