Mailing Lists: Apple Mailing Lists

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

bulk data causing isochronous errors



I have a full-speed device that uses a bulk out and an isochronous in pipe.  The isochronous pipe is used to transfer a large amount of data, and has a max packet size of 1008 bytes.  I have been testing our driver for this device on OSX 10.4, and it has not been working properly (it works on all other versions of OSX).  The problem that I am seeing is when I start to transfer larger amounts of data on the bulk pipe, some of the reads from the iso pipe fail with return code kIOReturnNoBandwidth.  After looking at a bus trace, it appears that the bulk transactions are causing the iso tokens to sometimes not be issued.  The main problem appears to be that when there is a bulk transfer that spans two or more frames, it looks like the USB controller sometimes tries to complete the bulk transaction, or at least send more of the scheduled transaction, before issuing an iso token.  So, if the bulk transaction is large or there are a lot of NAKs (both are conditions of the transfers in the failing case), this results in an iso token not being issued for one or more frames.  It is my theory that this is the origin of the NoBandwidth error, since all of the bandwidth for the frame that the iso transaction was scheduled for was being used by bulk transfers.  When I compared this behavior to an older version of OSX (10.3.5), I noticed the same problem.  However, this time, the return was kIOReturnTooOld.  The driver works on this version due to a software work-around that was put in to reduce the impact of these error returns.  There is a possibility that I may be able to do a similar work-around for this NoBandwidth error, but it seems that there may be something fundamentally wrong when there exists a possibility that a scheduled iso transaction with supposedly guaranteed bandwidth is not issued in the scheduled frame.  Testing on both OSes was done with a dual G5 1.8 GHz PowerMac.

 

Any input on this problem would be greatly appreciated.

 

Thanks,

Chris

********************** Legal Disclaimer ****************************

"This email may contain confidential and privileged material for the sole use of the intended recipient. Any unauthorized review, use or distribution by others is strictly prohibited. If you have received the message in error, please advise the sender by reply email and delete the message. Thank you."

**********************************************************************

 _______________________________________________
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.