Re: USB isochronous transfers

From: Daan Vreeken [PA4DAN] <Danovitsch_at_Vitsch.net>
Date: Tue, 4 May 2004 09:18:29 +0200
On Tuesday 04 May 2004 02:32, Julian Elischer wrote:
> On Tue, 4 May 2004, John Birrell wrote:
> > Are there any USB experts here?
> >
> > The ugen driver in current has code that treats an isochronous endpoint
> > which has a wMaxPacketSize of zero as invalid and won't open it.
> >
> > I have a board here that reports it's isochronous endpoint like that.
> >
> > On page 47 of the USB Specification 2.0, I see this:
> >
> > "All device default interface settings must not include any isochronous
> > endpoints with non-zero data payload sizes (specified via wMaxPacketSize
> > in the endpoint descriptor). Alternate interface settings may specify
> > non-zero data payload sizes for isochronous operation."
> >
> > My board is supposed to be a reference implementation from Philips
> > for their 1581 USB chip and their MPEG2 chips. It only has the default
> > interface.
>
> I had a look in my USB book (The mindshare USB2 book) but it didn't
> illuminate the subject any more than what you have already found..
> The whole concept of all those descriptors and how they all fit together
> is confusing at the best of times.
Maybe a bit off-topic, but even if ugen would accept it, you would probably 
crash your system using it ;-)

The ugen driver has a pointer error in the isochronous transfer code. I have 
filed a PR about it with a patch more than a year ago, but it's still in the 
code today...

Could someone please apply the fix in :
kern/51074: pointer arithmatic error in ugen.c

And when you're at it have a look at another PR (with patch) I have sent in 
that prevents all USB if_* drivers from crashing with more than one device 
plugged in :
kern/59290: [PATCH] attaching more than one of the same usb if_* adapters 
crashes system

Thanks,
Daan
Received on Mon May 03 2004 - 22:19:44 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:53 UTC