where to get info to write basic usb driver for own device?

idownes at slingshot.co.nz idownes at slingshot.co.nz
Sun Jul 4 19:11:25 PDT 2004

Thanks for the reply.
I'm building my own device based around the DSP (see below).  It's 
basically a data logger storing video frames.  I simply need to connect 
to it to dump the buffer to a file and then process it from there.  Just 
the one tranfer is needed at a time, speed and efficiency isn't any real 
concern.  I have control over the DSP code (i.e. I'm writing it) so I 
will know any protocol of course :)
It's not worth putting it into any class, I have no need to write to it 
etc. so I wouldn't make it umass.
Looking at ugen and libusb I think I'll start with them.  The advantage I 
guess with libusb is that it'll be portable.  
There's an example of using libusb at http://www.linuxjournal.com/article.
php?sid=7466 for anyone else reading this (Avleen)
Are there any FreeBSD specific resources around?  Any code that I can 

> What kind of device do you had build?
> A HID?
> If your device is not with heaven traffic, you can consider to
> develop your driver at user space with ugen(4) or uhid(4) at first.
> And then, move it into kernel space when you need.
> I had wrote a drive for a touch panel device.
> Actually, it is a input device for XFree86.
> I worked it with uhid(4), all my work was finished at user space.
> It would be a good entry point.
> idownes at slingshot.co.nz wrote:
> >Hi all,
> >As part of my uni honours project I need to write a basic USB driver 
for a 
> >device I am building.  I need to talk to a Texas Instruments DSP 
> >which has on chip USB (2.0 compliant, full speed).  TI supply a library 
> >for the DSP side of the USB but I need to write a basic program to 
> >retrieve data from it, nothing fancy at all.  I have full control over 
> >software on the DSP.
> >There is a basic generic Windows driver I could use (theyscon.de) but 
> >don't really want to do it under Windows - instead I'd much rather do 
> >with FreeBSD.  
> >
> >So what I guess what I am asking is how hard would this be? (I have a 
> >reasonable knowledge of C and Java and have been using FreeBSD for a 
> >couple of years but have never written a device driver (for any OS))  
Do I 
> >actually need to write a driver or can I use something already 
> >Where would I get information on how to do this?  So far I've been 
> >at the existing drivers; ugen, ufm etc., the programmers handbook and 
> >starting to look at libusb...?
> >Sorry for the long message.  Any pointers etc. would be greatly 
> >appreciated.
> >Thanks
> >Ian

More information about the freebsd-hackers mailing list