On Sat, 12 May 2007, Jayaprakash Shanmugam wrote:

> Hi All,
> 
>   I have a EHCI host connected to 4 USB devices (dev1, dev2, dev3 and
> dev4).  I have two processes that make use of these devices through a
> kernel object.  I have some vendor commands (through EP-0) to all the
> devices.  Apart from this,  dev1 has EP2 ( in ) bulk, dev2 has EP2 (
> in ) interrupt and dev4 has EP6 ( out ) bulk.  There are 3 processes
> in our system.  From Process1, I read EP2 from dev1 periodically (for
> every 30 ms) and send it to EP6 of dev4.   The other process Process2,
> reads the EP2 interrupt endpoint of dev2 periodically. The last
> process Process3, tries to write to dev4 EP-0 quite frequently (every
> 3 seconds).  Sometimes, the usb_control_msg() receives timeout error.
> I am not able to understand why it should return timeout error
> intermittently.
> 
> 1) When the control endpoint and bulk endpoint are used in a device,
> Can I not use both of them simultaneously ?

The Linux host software allows it.  However the device itself might have
some restrictions (although it shouldn't).

> 2) When I tried to write to EP-0 of a device, the other process who
> sends periodic data to EP-2 of the same device

How can that be?  You said above that on both dev1 and dev2, ep2 is in, 
not out.

>  receives the error
> message - ep0out timeout error.  Why should the process receive this
> debug message (from the timeout handler in the usb_submit_urb() )

Most likely you misunderstood what happened.  Please provide logs
demonstrating the problem.

> 3) When I tried to write to EP-0 of a device (while the other process
> sending data to EP-2 of the same device periodically), the device
> received the data succesfully.  But, the host says the request is
> timeout.  Does it mean that the ACK for the EP-0 packet is received by
> the URB who waits for ACK for the Bulk transfer.

ep0 transfers involve several packets, so it doesn't make sense to talk 
about "the ACK for the EP-0 packet".  If the device receives the data 
correctly and the host reports a timeout, it means that the device 
continues to send NAK packets even after it has received the data.

> This mail may be huge.  Since I am not able to understand the behavior
> I wanted to give the full details of the issue.
> 
> Note: I am running Linux 2.6 on MPC 8270 with Philips PCI - USB converter

2.6.what?

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to