Subject: Re: usb-question
To: Lennart Augustsson <lennart@mail.augustsson.net>
From: Love <lha@stacken.kth.se>
List: current-users
Date: 09/20/2000 17:06:05
Lennart Augustsson <lennart@mail.augustsson.net> writes:

> Love wrote:
> 
> > Lennart Augustsson <lennart@mail.augustsson.net> writes:
> >
> > > Love wrote:
> > >
> > > > I'm trying to figure out how usb works in NetBSD, but I'm a little bit
> > > > puzzled. If the ioctl(USB_GET_INTERFACE_DESC) returns 2 endpoints,
> > > > shouldn't it be possible to open /dev/ugen0.01 and /dev/ugen0.02 ?
> > >
> > > Not necessarily, you need to find out what the numbers of the endpoints are.
> > > If you use the usbgen program in the usbutil package it will dump all the
> > > descriptors of the device.
> >
> > Ok
> >
> > After looking at it a while I and reading the documentation i understod
> > that endpoint 1 is a CONTROL endpoint and bidirectional, and endpoint 2 is
> > ISOCHRONOUS.
> 
> A device which has a second CONTROL endpoint?!?  Wow, I've never seen that.
> Weird!
> Can you send me the output of `usbgen -D' on the device?

You can find the documentation at
<http://www.intel-u-press.com/usb_dbe/Chapter12/NT1003.pdf>, look at page 11.

The output of ``usbgen -D -f /dev/ugen0.00'' is rather long. The device
claims to have 16 bAlternateSetting. You can find it at
<http://www.e.kth.se/~lha/usbgen-D>.

> Well, to support additional control pipes you will have to open the pipe in ugenopen()
> and then handle it in ugenioctl() in the same way as pipe 0 is handled.

Ok, I tried to do that, I'll see if I find what I missed.

Thanks for helping,
Love