Auto-use of USB devices, allow a stupid question...

As my Lexmark Prospect Pro 205 is a rather unreliable beast over the WLAN already since a while I`m trying to get the printer connected via USB to the LAN via my router (OpenWRT). I went through all kinds of experience using CUPS (no chance as Lexmarks drivers are closed-source and not compiled for ARM...) and p910nd (does work for the printer function, but no monitoring of ink-levels, no double-side printing, and even no scanning ...).
Now I found your solution and WOW this works great ! I have a fully functional MFC accessible over the LAN including all functionality !

BUT: I struggle to find a way to effectively share it over the network as somehow the clients all block each other when Auto-used. I can always see who is attached, but once this client has printed it is not detached from the printer automatically allowing the next one waiting. I used the option "Auto-use..." believing that it would provide this functionality, but I`m always ending up in a blocking situation where someone (even not aware that he is still booking the device) still is attached to the printer whilst others are waiting to get access to.

What am I doing wrong here ? I`m aware that a USB is no shared medium, but I thought the client-server communication implemented in Virtualhere is allowing true networking ?

Best regards !


USB by definition is single use protocol, you cannot have more than one client attached to a usb device simultaneously, it is physically impossible. It is to do with the state-machine in the usb device must match the state machine represented in the usb driver only.

Anyway you will need to turn off auto-use (as they cannot all auto use the device at once) and just get the client to use the device when then need it and stop using it afterwards.


I´m aware of the limitations of USB, but I was hoping to find a way that the client is connecting only when needed, and then disconnect automatically after the printjob is being done. I understand this must then ask for he printerspooler to call the API of the client for connecting to the USB, and this is where the problem resides... Not sure my clients would want to open the client-window and manually connect/disconnect every time they want to print, so this is a technical limitation of this very nice solution then.
Any thoughts to have such kind of functionality implemented ?


Just use the client api and write a batch file or something to detect the print spooler status and send "STOP USING" at the approprate time...

you can call the vhui64.exe binary at any time to send api text to the running need for the enduser to be aware of can be behind the scenes