Re: Print Queues and KVM/virt-manager virtual Windows machines
- Date: Mon, 11 Jun 2018 23:29:32 -0400
- From: Gary Dale <garyndp@xxxxxxxxx>
- Subject: Re: Print Queues and KVM/virt-manager virtual Windows machines
On 2018-06-10 04:48 PM, Reco wrote:
Which strikes me as a bug, not a feature. I'm not familiar with the USB
specification but it seems to me that sharing USB ports, speakers,
microphones, network ports, etc. should all be possible. While one host,
the hypervisor, may control the actual port, others should be able to
communicate with it via a virtual port that the hypervisor provides.
On Sun, Jun 10, 2018 at 03:21:45PM -0400, Gary Dale wrote:
I have printers attached via USB to my Debian/Stretch server and also one
that also has an ethernet connection. The problem I'm having is that the
virtual machines seem to grab exclusive access to the printers, so I can
print from my Linux (Debian/Buster) workstation.
QEMU USB redirection (whenever native QEMU or that impressive trick with
usbip virt-manager does) is implemented that way. You can provide a single
host with any USB device, but the access is exclusive.
The problem there is that many (all?) printer manufacturers provide
Windows programs that offer more features than the CUPS drivers provide.
For example, the HP software allows access to self-calibration routines.
However it insists that the printer be connected via a USB cable and
won't install if it's not. The CUPS driver for my Epson Printer doesn't
allow me to print to CDs...
The printers show in the CUPS web interface and also in the print dialogues
but CUPS reports the printers aren't communicating when I try to print to
Of course it works that way. CUPS stores access parameters for any
configured printer, but checks if it's accessible only at printing time.
I can print to the one that has a network connector, but only through that
And that is also working exactly the way it's intended. IPP is designed
for concurrent access, USB does not.
Is there any way to be able to share a USB printer with a virtual machine?
Configure CUPS to provide an access to a printer via conventional
tcp:631 (i.e. network). Use network access to CUPS from all your virtual
machines. They gave you full-fledged print server with a network
capability, you might as well use it the way it was intended.
Also, installing a shared CUPS printer under Windows has always been a
bit painful. Windows likes to use its protocols and no one else's.