What version of the OS are you using? Your output from USB Prober
does not look like its from when the device is attached to a High
Speed device, or it is from an older version of Prober. Can you
display the full prober output for your device? Also, what do you
mean by saying that the polling interval should be 1 instead of the
4 that it is shown?
As far as the crash, I presume you mean a panic? This obviously
should not happen. Please submit a bug report @ http://
bugreporter.apple.com with the full message. We have not seen many
(any?) isoch in pipes with polling interval other than 1ms, 1
microframe, or 8 microframes, so there could easily be a bug there.
HTH,
--
Fernando Urbina
USB Technology Team
Apple Computer, Inc.
On Jun 27, 2005, at 12:48 PM, david tay wrote:
I have a device which on a USB 2.0 bus shows that it has
an Isochronous Input endpoint as
Attributes: 0x84 (IN)
Attributes: 0x01 (Isochronous)
Max Packet Size: 4
Polling Interval: 4 ms <<<<----------------------------
should be 1
The sample rate is expressed as a 16.16 format rather than the
older 10.14 format.
In the following snippet
assocEndpoint.direction = kUSBIn;
assocEndpoint.maxPacketSize = 4;
assocEndpoint.interval = 0xff;
assocPipe = streamInterface->FindNextPipe(NULL, &assocEndpoint);
if (assocPipe)
// following line crashes quite often
result = assocPipe->Read(reqSRDesc, nextSynchReadFrame, 1,
&srFrame, &completion);
Questions
a. In the case of USB 2.0 would I be getting the correct pipe
using FindNextPipe()?
b. What could be causing the crash when Read is called?