Tricky USB device.

Bernd Walter ticso at cicely12.cicely.de
Fri Apr 8 21:02:26 PDT 2005


On Fri, Apr 08, 2005 at 06:06:30PM -0700, Julian Elischer wrote:
> Maksim Yevmenkin wrote:
> >Bernd Walter wrote:
> >>On Fri, Apr 08, 2005 at 06:12:33PM -0400, David Gilbert wrote:
> >>Yes - you must use 1 - there is only one out-endpoint. 0x81 is for
> >>receiving data and endpoint 0 is the mandandory control endpoint. 
> >>Interrupt Endpoints are not variable in size. Both interrupt
> >>endpoints are 8 Bytes, so you must read and write exact 8 Bytes per
> >>transfer - 5 shouldn't work for USB compliant devices.
> >
> 
> the device may accept 5 bytes of data. if it's feeling charitable.
> but you probably should send teh number of bytes suggested by the 
> endpoint descriptor.
> that number is at least guaranteed to work.  Hang on.. I'm trying to 
> remember if the 8 includes the header..

The size is just the payload - I was just wrong, as interrupts
transfers are allowed to be smaller.
However the device should make use of 8 Byte packets or not say 8 Bytes
at all.

> if so then you probably only get 5 bytes of data space.. I need to go 
> back to my USB book.
> 
> From what I saw before, you may need to set the configuration number
> to 1 before it will do anything.
> so you may need to do a setConfiguration(1)

ugen will have done that already, otherwise it wouldn't know about
the devnodes for the interrupt endpoints in the first configuration.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de



More information about the freebsd-hackers mailing list