Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Usb Digest, Vol 2, Issue 284



Thanks David.  I've attempted to address this possibility be calling ClearPipeStallBothEnds() after opening the interface by calling USBInterfaceOpen(), which I think should re-sync the  DATA0 bit.  This hasn't helped.  Is this a reasonable alternative to the device request that you mentioned?

I have used an Ellisys hardware logger that shows the traffic.  My first control request to the device is DATA0, and so on.  The hardware log shows that the DATA0, DATA1 toggling in the failure case is the same as in a successful case. 

/Don


On Dec 22, 2005, at 3:06 PM, email@hidden wrote:

Message: 3
Date: Thu, 22 Dec 2005 09:07:54 -0800
From: David Ferguson <email@hidden>
Subject: Re: Problem with asynchronous pipe reads
To: email@hidden
Message-ID: <p0602041ebfd08cf63572@[17.206.37.65]
>
Content-Type: text/plain; charset="us-ascii" ; format="flowed"

Cases where expected data isn't returned can often be due to data
toggle issues with the device.   When you open an pipe (ie, when the
interface is instantiated), the data toggle is set to 0.   If a
device returns DATA0, then that packet will be passed to the driver.
If the device return DATA1, then the host controller will ACK that
data and continue to issue INs waiting for DATA0 from the device.

If your software is a user-client, you may be instantiating the
interface, but the device knows nothing about this, and is ready to
respond to the next request with DATA1.   A device is supposed to
reset the data toggle in response to the device request CLEAR_FEATURE
ENDPOINT_HALT, but many don't do this if the endpoint isn't stalled.

Hope this helps.

David Ferguson
USB Software Team
Apple Computer

Don Clark
Onset Computer Corporation
Bourne, MA 02532
(508) 743-3175




 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.