iso support
matthieu castet
castet.matthieu at free.fr
Thu Nov 17 13:23:26 EST 2005
Hi Stanislaw,
Stanislaw Gruszka wrote:
>>On iso urb error status isn't keep in urb->status variable,
>>it's in iso_frame_dest[i].status for every frame and (AFAIK) urb->status
>>is equal to -EILSEQ allways. So to proper driver work in iso mode
>>Matthieu condition change in usbatm_complete() is needed.
>
>
> Hi all, hi Duncan, as you will work tomorrow on driver please take
> into account iso support too.
yes it will be fantastic :)
>
> I tried to take more deeply look at urb->status in iso mode.
> Of course I was wrong telling urb->status is equal -EILSEQ
> allways, it's only quite frequency situation on uhci host controller
> (which I have on my machine). After my investigation on uhci driver code,
> seems urb->status is equal last non zero iso_frame_desc[i].status or zero.
> Eg: if all frames are ok there usb->status is 0. In iso mode if reserved bandwitch
> is greater then real bandwitch, there are incoming frames without any data
> and such with EILSEQ error. This is the reason why on uhci there
> are lot of urb->status == -EILSEQ.
Have you try with other alternative where that have a smaller packet
size in order if it change something ?
My conclusion was there was something strange on the eagle usb iso
management : for me there are lot's of -EILSEQ errors when the modem do
nothing and no error when I download at full rate.
Alan Stern also think it could be a bug in the modem [1].
Have you try with other iso device (webcam, ...) ?
I don't have any here, so I ccouldn't try it.
Matthieu
[1]
I don't think it's a problem with the UHCI driver. It could be a problem
with the modem or the host controller.
The UHCI driver returns -EILSEQ as status when no data at all is received
from the device. Even an "empty" packet actually contains some data: a
DATA0 PID and a 16-bit CRC. It's possible that the modem, instead of
sending this data to indicate an empty packet, is sending nothing.
Alan Stern
More information about the Usbatm
mailing list