From: Nathan H. <hj...@me...> - 2012-06-28 17:25:45
|
In prior versions of libusb I chose to limit access to control requests to processes have the device open. I did not want to add a feature that could not be guaranteed to work in future versions of OSX (the spec clearly says the device MUST be open-- though not by whom). We may change that with 1.0.10. I still don't like the idea but it *should* work for CDC. BTW, the Mac CDC driver does not close the device nor does it respond to a request to close the device (USBDeviceOpenSeize). You can not open it unless you either 1) write a stub driver for your device to prevent the CDC driver from loading, or 2) unload the CDC driver. -Nathan On Jun 28, 2012, at 12:50 AM, Xiaofan Chen <xia...@gm...> wrote: On Thu, Jun 28, 2012 at 11:59 AM, Jason Kotzin <jas...@gm...> wrote: > Libusb Team - > > I've just made a new device which is a composite device that has 3 interfaces; > The two needed for the CDC class, and a vendor specific interface. CDC-ACM + Vendor specific interface. I assume you want the device to work under Windows along with Mac OS X (and probably Linux as well), right? In that case, you are using IAD (Interface Association Descriptor), right? There are some discussions of IAD involving CDC-ACM as one of the interfaces in the Apple USB mailing list and there may be potential problems. Could you post your full descriptor? What is the OS X version you are using? > I can't open the vendor specific device for communication. I open the device, > which the libusb error messages says: > > USBDeviceOpen: another process has device opened for exclusive access > > However it continues. > > When I try and claim the interface, that works fine. However, shortly > after I get the following: > > libusb: 0.612045 error [submit_control_transfer] control request failed: > no async port has been opened for interface > > And that message follows with any successive control transfer I try > to do on my claimed interface. > > Was wondering if there was a way around this, if this is a limitation on > the Mac, or if I've made a mistake in my descriptors? > > The idea was to have a vendor specific device we can talk to for all > our bulk data transfers, and then conveniently have a serial port > we can connect to for debug without using another USB cable and > rs232 convertor. > > Thanks so much, really appreciate the help. > Some references (the thread is a bit long) http://lists.apple.com/archives/usb/2011/Apr/msg00016.html http://lists.apple.com/archives/usb/2011/Apr/msg00019.html Apple employees mentioned that "It is true that at the moment, for multifunction devices, you need a different configuration for Windows and MacOS but that will be fixed." At that time, Lion was not released. Not so sure OS X Lion has already got that fixed. http://lists.apple.com/archives/usb/2011/Apr/msg00021.html Apple employees argued that there is no standard for such device. -- Xiaofan ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ libusb-devel mailing list lib...@li... https://lists.sourceforge.net/lists/listinfo/libusb-devel |