On Fri, 10 Sep 2004 [EMAIL PROTECTED] wrote:

> I agree, I known that an USB transaction terminates with a null packect or
> an incomplete packet (comparing the max packet size of a pipe) or when the
> amount of data transfered is a multiple of the maxpacketsize and equals to
> amount
> of data requested by the URB.
> So, when I reproduce the problem on a bulk pipe (of a specific device), the
> max
> packet size is 64 bytes, any URB request 64 bytes and the device sends 6
> bytes.
> When I reproduce this problem with a mouse, on a interrupt pipe,
> maxpacketsize is
> 4 bytes, any URB request 4 bytes and the mouse sends 4 bytes.
> In both cases, when the usb_unlink_urb() isn't used, each URB terminates
> immediately
> after the device send 1 packet. However, after I unlink an URB, the device
> must
> send 2 packets to terminate the new URB that has been submited after the
> call of
> the usb_unlink_urb() function. Unfortunately, only the last packet is
> available in the
> data buffer provided to that URB.

All right, moving on...

You can turn on the USB debugging option in the kernel configuration if 
you haven't already done so.  Then when you load the uhci-hcd module, add 
"debug=4" as a parameter on the modprobe line.  After your second URB 
stalls, before sending the third URB, copy the contents of 
/proc/driver/uhci/* (whichever file in that directory corresponds to the 
controller your device is using).  That will show what the driver and 
controller think is going on.

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