Struggling with a problem of a device that locks up when a write or
read is performed to any pipe from the Mac.
I am using the user space client interfaces. Basically, the steps
taken are:
1. Open the device.
2. Set configuration.
3. Obtain interface interator.
4. Obtain first interface that matches.
5. Open the interface.
At this point, the number of endpoints for the interface is correct
and the device responds to control requests.
If I write to an endpoint, or read from a pipe, the device disappears
from the bus. Does not respond to control requests at all.
The device is based on a Cypress FX2 chipset and seems to work fine
with its Windows driver. Looking at the transfers on the Windows
machine, it seems that the Windows driver never selects an interface.
There is only one for the configuration, so it just selects the
configuration and starts the using the pipes. No SetInterface is
performed.
It seems like this might be one difference with the Mac, particularly
if USBInterfaceOpen always sends a SetInterface. And assuming that
there is some bug in the device that does not respond properly to
setting the interface.
This brings me to several specific questions regarding the usb code
on the Mac.
1. Does opening the default interface cause a SetInterface to be sent?
2. Is there a way to obtain pipes on the default interface without
having a SetInterface sent?
Any thoughts or suggestions appreciated.
Peter
_______________________________________________
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