SIMtrace MITM/emulator

Peter Stuge peter at
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 mailing list