peter at stuge.se
Fri Aug 9 06:59:15 UTC 2013
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
"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.
More information about the simtrace