I spent my money - but wish I'd researched first. The following from LKML Greg K-H says it all....
On Fri, Jan 11, 2013 at 04:10:30PM +0200, Ozan ÃaÄYlayan wrote:
> > Ah, my sympathies, USB on a rpi is horrible, and you will have all sorts
> > of nasty issues, no matter how you end up doing this (in the kernel or
> > userspace).
> What kind of issues? Currently I can read from the device without
> problem. But, I had very weird problems with 2 uvc cameras, you're
High cpu usage is one problem, and low overall USB bandwidth is another,
combined with slow response times. The hardware really is bad for USB,
and the driver is a whole other beast, something that no one in the
community can, or will, touch at all.
> > Test it out and see. I really don't think that user vs. kernel space is
> > going to be the issue here, I think you are going to see some very real
> > problems with the hardware itself in this area.
> > Best of luck,
> Well If I were you I would probably write that simple driver in a few
> hours but seen that I am not you, I wanted to learn will the effort
> worth the result :)
It all depends on what you want to do, but I really think that user vs.
kernelspace is not going to be the real problem here. Start with libusb
and if you find that you are having problems, use 'perf' to see if the
kernel part is really the problem. I think you will find all of your
time is going to be spent in the USB hardware itself, and the USB
driver, once you get the data out of that, user vs. kernel is not going
to be noticable at all.
Best of luck, and I bet you, in the end, you pick a better hardware
platform for your project (hint, go buy a Beaglebone, it actually works
and the tiny increase in cost more than makes up for the time you will
waste fighting the RPI hardware.)