The CUPS "browsing" protocol was marked as deprecated being removed at v1.6 of CUPS, due to problems with broadcast and managed networks/WiFi. It's an UDP protocol to broadcast information about installed printers on a CUPS server and share them.
In a simple way, the following diagram describes our network and printer propagation using this protocol:
Browse Protocol
*Printers are shared as ipp pools on the printserver*
+-----------+
|CUPS Client| ipp://printserver/printer01, ipp://printserver/printer02
|1.3.7 +--------+
| | | +------------------+
+-----------+ | | |
+------> Printserver |
+-----------+ | | CUPS 1.5.3 |
|CUPS Client| | | |
|1.5.3 | | +------+---------+-+
| +--------+ | |
+-----------+ | | ipp://printer01
smb://printer02 |
| |
+---------v-+ +--v-------+
| | | |
|Printer 02 | |Printer 01|
| | | |
++----------+ +----------+
*Printserver connects to them using
all kinds of protocols*
- The servers have interfaces on the same VLAN to make the zeroconf propagation of printers;
- The clients (some of them) have legacy systems that prints through
lpr
. Their localcups
have printers pointing to the printserver; - The printserver announces (broadcast) new printers and changes each 60 seconds;
We have about 10 clients that consumes those printserver polls, while the printserver itself connects to 250 printers. Since adding printers on each client would not be a pleasant task, and due to driver issues with newer printers, CUPS needs to be updated I ask:
Question: Is there an alternative to the browse protocol to add printers in a distributed way?
Reasons why this architecture needs to be kept:
- With this centralized printserver i can make job accounting through scripts and send them by email. Synchronizing printers but letting the clients print directly to them would be a "good enough" solution, but not the best;
- Easy to manage printers at one server;
- Security. Since it´s a virtualized environment i can decide which server will have an interface on the same vlan the printserver broadcast it´s pools/printers;
- Our support guys are trained to add and share printers using the default cups administration page(
http://printserver:631
) and they have no access to shell at all. This is why solutions like adding one avahi service to each printer are not good options.