Tom Schouten wrote: >>>> Another method would be type=vendor recipient=device control requests >>>> over the default endpoint. > > Well... I tried this for the CDC and I get "Device or resource busy".
What did you try exactly? > It doesn't work if the device is already opened by another process or a > kernel driver. There is always a kernel driver for every single interface, also when using libusb. It is just a different kernel driver. It is not possible to communicate with a USB device without a kernel driver, also using libusb. "open the device" is not really a significant concept with USB, it is much more important what happens with individual interfaces. libccid uses libusb to claim the CCID interface, but that is distinct from the default endpoint. > It seems plausible a USB device can only be opened once, That's not the case however. > so you're can you elaborate on what you are referring to by > "it works well everywhere" wrt "already bound by another driver" ? Please describe what you've done in more detail instead. //Peter
