| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
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
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
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.