On Sat, 11 Sep 2004, Manoj Bhatta wrote:

> Hi , 
> 
> My  USB 1.1 Full Speed (12mbps) device , which is
> having one isoc endpoint of 840 bytes when  tries to
> read data through the isoc endpoint by making  20 URBs
> , each URB having 840*10 (10 frames) bytes  and it
> takes more time to read data from device almost
> 600millisec .   
> How can i overcome this problem . Do i need any
> configuration for bandwidth ?
>                                                       
>                                                       
>        I got kernel messages like the following . i am
> using 2.6.4 kernel , with USB Controller INTEL UHCI . 
> 
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 869 + 66 = 935 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 935 + 66 = 1001 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1001 + 66 = 1067 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1067 + 66 = 1133 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1133 + 66 = 1199 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1199 + 66 = 1265 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1265 + 66 = 1331 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1331 + 66 = 1397 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1397 + 66 = 1463 usec
> Sep  9 20:07:30 linux kernel: usb 1-1.4:
> usb_check_bandwidth would have FAILED:
> 1463 + 66 = 1529 usec

The bandwidth management for isochronous transfers in the UHCI driver is 
messed up.  So don't worry about those error messages.

As for why the transfers take 600 ms instead of 200 ms...  I don't know.
The development and debugging of the iso. code in the UHCI driver has 
lagged behind the other transfer types.

You can learn more by printing out the urb->start_frame values for each 
URB you submit, and compare those values to the result of calling
urb->dev->bus->op->get_frame_number().

Also, it would be a good idea for you to upgrade to 2.6.8.1 or 
2.6.9-current.

Alan Stern



-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM. 
Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to