I was having trouble getting information about the interfaces on a device I am trying to work with that uses the Cypress FX2 chip.
My code was based on the Apple "USBNotification" code but my code was not getting information from the last interface from my device. USB Prober showed the interface but my code did not.
It turns out the line:
for (pipeRef = 1; pipeRef < intfNumEndpoints; pipeRef++) // in function FindInterfaces()
should be:
for (pipeRef = 0; pipeRef <= intfNumEndpoints; pipeRef++) // use "<=" in the for loop
Now my code sees the last interface from the device but it sees a maxPacketSize of 1024 (US Prober sees this too).
Barry Twycross wrote: "1024 byte would be an illegal value for a high speed bulk endpoint. "
I think that the firmware of the device may have incorrect device descriptor data in it.
When I try to read from that endpoint my code prints:
unable to do bulk read (e00002e8)
unable to find interfaces on device: e00002e8
Does anyone have any ideas what is going on? (The device works fine with the firmware that I have under Windows XP)
_______________________________________________
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