OS X allows more than one program to access a USB device at a time. Can Linux?

The Linux FAQ says: "Can more than one client use the same USB device simultaneously? No, not physically possible"

Interesting on MacOS I am able to run two programs that use the same USB in an interleaved style. As long as they both don't send commands on the USB at the same time, it works!. There are occasional issues, but it mostly works with some refreshes needed sporadically.

The USB on the other end uses HID profile. Not sure if that makes a difference or not. Also, one of the programs is in python using the hidapi library.

This does not work if I use VH and run the second program on either the client or server (Linux). This only works if I have bth programs on the Mac and use a USB cable to connect.

I have been able to have VH Server disconnect from USB, attach USB to the other program briefly, and then VH reconnects, but that is pretty slow.

ANy ways to improve this? I realize it's pushing what is supposed to work.

#2

No you are not really using it at the same time :) Its not possible.

You are confusing the way USB works. The drivers that sit on top of USB can do arbitration if they want : e.g think of a USB disk multiple programs can use it at once.

But VirtualHere passes the low-level usb signal, and that is, and has always been, single access because a USB device only has one plug for the signal to go out!

Thats why e.g security dongles are always USB devices. They cannot be accessed simultaneously at the USB electrical level.

There is only a single state machine inside a USB device, thats why its physically impossible

#3

Makes more sense. Thanks.