On Wed, Nov 21, 2007 at 09:12:54AM +0800, Peter Teoh wrote: > To address all the points discussed: > > a. As a newbie, kernel driver was something I am a little bit > familiar. Well, libusb or raw usbfs? I will pick it up next :-). > Thanks for the tip. One question - in one-liner or two, what are the > differences between the two? Flexibility or otherwise? For the > moment I will just pick libusb. Personally I definitely preferred > userspace than kernel, as relinking it for different kernel version is > a headache :-(. libusb tries to put a "pretty" face on the raw ioctls of usbfs. But by doing that, it dumbs down the interface so that you can not really use isoc urbs, or have multiple urbs in flight at the same time. "raw" usbfs can handle all of that at with the added complexity of having to manage the urbs yourself. People are trying to write a new version of libusb to handle these shortcomings, called "openusb", but based on their current design documents, I'm not holding my breath as to how well it's going to all work out :) Does that help? thanks, greg k-h