There are different methods for auto-discovering driverless IPP network
printers.

First, all these printers advertise themselves via DNS-SD, so that
clients (computers, phones, TVs, ...) find them. The first step which
then happens in your computer is that avahi-daemon picks up the
printer's broadcasts. Therefore avahi-browse shows the printers. Every
other program, like CUPS, cups-browsed, or print dialogs communicate
with avahi-daemon to be able to list the printers. If you stop avahi-
daemon the printers will disappear for sure, but other types of remote
devices which your computer discovers will disappear, too.

For getting the printers from avahi-daemon to the final print dialog
there are three methods currently (in the order of how I assume that
they appeared):

1. cups-browsed: This one I wrote when CUPS 1.6 came out and dropped its
own broadcasting/browsing system to automatically make printers from
CUPS servers appear on CUPS clients. CUPS replaced this by the same DNS-
SD method which the the driverless IPP printers use but they did not do
the client part, print dialogs were supposed to use it. But as in Linux
GUI there is certain inertia in development and usually no one taking
care of printing, I created cups-browsed to assure continuity in the
functionality of Ubuntu. In the beginning cups-browsed did nothing more
than picking up DNS-SD broadcasts of remote CUPS printers (with the help
of avahi-daemon) and created local CUPS queues to make the printers
listed locally and to be able to print on them. During the years I added
more functionality, especially also creating local queues for driverless
IPP printers. cups-browsed removes its local queues when the remote
printer disappears or on (cups-browsed) daemon shutdown. This way I have
overcome the lack of the print dialog's functionality and users die not
complain about missing remote printers.

2. CUPS: Recently, CUPS added a mechanism to automatically have access
to remote IPP printers (both driverless network printers and remote CUPS
queues) by listing the printers even without having a local queue and
auto-creating a temporary queue when trying to access the printer. The
temporary queue is removed after 1 minute being idle or on (CUPS) daemon
shutdown. Problem of this approach is that clients, like print dialogs
need to use the correct CUPS API to see these printers. As not all of
them do so I am keeping cups-browsed in the default installation of
Ubuntu.

3. Print dialogs can follow the original idea of the time of CUPS 1.6,
grabbing the DNS-SD broadcasts of the printers on its own (using only
avahi-daemon) and this way list the printers.

Now I do not know how exactly each print dialog is working and which of
the three methods leads to the dialog listing the IPP printers. As you
have already turned off cups-browsed as a first step, it must be (2) or
(3) for the Qt dialog.

You can try to turn off CUPS now, but only for testing as this way most
probably printing will not work. If the dialog still shows the printers,
the Qt dialog uses (3) for sure. Try to print even with CUPS still
turned off. Does this work? Does the GTK dialog (for example evince)
behave the same? Does also the print dialog of LibreOffice behave the
same?

Perhaps the dialogs behave all different. We have developed a new
methods in which the dialogs stop accessing printers on their own and
use GUI-independent print dialog backends. This new method (4) will
hopefully soon make it into the Linux distributions.

By the way, with your observation on Qt print dialog showing the
printers as driverless only with cups-browsed running is due to how
cups-browsed works. It creates local queues and marks them as
"driverless" which the dialog shows. The dialog has a mechanism
determining whether a remote printer has already a local queue to avoid
duplicate listings. So you see the queue from cups-browsed if cups-
browsed is running and you see the printer entry from CUPS or from the
dialog itself if cups-browsed is not running.

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to cups in Ubuntu.
https://bugs.launchpad.net/bugs/1738432

Title:
  Regression, poor user experience, print dialogs garbled by
  unidentifiable driverless printers

Status in cups package in Ubuntu:
  Incomplete

Bug description:
  Recently, my print dialogs have started to include network discoverd
  printers in addition to those configured in cups even if the cups-
  browsed service is disabled and the BrowseRemoteProtocols option is
  set to none.

  There does not seem to be any way to disable this behavior apart from
  disabling avahi or its ability to talk to dbus, which causes side
  effects on the system.

  Yet, in some environments this behavior is a definite regression over
  the old one and leads to an extremely poor user experience.

  On some networks:

  - The print dialogs takes 3-10 sec to open which is a huge amount of
  time for an action that is expected to be instantaneous and for which
  there is no visual feedback.

  - The print dialog contains many tens of printer entries, all
  identified by weird hex strings that cannot be related to any useful
  location, that do not help identifying which entry corresponds to
  which printer and that only mess up the list making it hard to find
  the printers that are actually useful.

  For instance, suppose that you work at some office that has recently
  purchased a batch of new printers all the same model. In the print
  dialog you may get many entries like:

  HP_Laserjet_Pro_Mxxxdw_21ACF2

  which only vary in the final hex string. How is one suppose to know
  what is where?

  Please make it possible to disable this driverless printer madness.

  ProblemType: Bug
  DistroRelease: Ubuntu 17.10
  Package: libcups2 2.2.4-7ubuntu3
  ProcVersionSignature: Ubuntu 4.13.0-19.22-generic 4.13.13
  Uname: Linux 4.13.0-19-generic x86_64
  ApportVersion: 2.20.7-0ubuntu3.6
  Architecture: amd64
  CupsErrorLog: E [15/Dec/2017:12:41:45 +0100] [Client 6] Returning IPP 
client-error-bad-request for Create-Printer-Subscriptions (/) from localhost
  CurrentDesktop: KDE
  Date: Fri Dec 15 16:22:07 2017
  EcryptfsInUse: Yes
  InstallationDate: Installed on 2013-12-12 (1463 days ago)
  InstallationMedia: Kubuntu 13.10 "Saucy Salamander" - Release amd64 
(20131016.1)
  MachineType: Notebook W740SU
  Papersize: a4
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.13.0-19-generic 
root=/dev/mapper/zagar_ssd--vg-root ro quiet splash 
resume=/dev/zagar_ssd-vg/swap_1 acpi_backlight=vendor vt.handoff=7
  SourcePackage: cups
  UpgradeStatus: Upgraded to artful on 2017-10-26 (50 days ago)
  dmi.bios.date: 10/02/2013
  dmi.bios.vendor: American Megatrends Inc.
  dmi.bios.version: 4.6.5
  dmi.board.asset.tag: Tag 12345
  dmi.board.name: W740SU
  dmi.board.vendor: Notebook
  dmi.board.version: Not Applicable
  dmi.chassis.asset.tag: No Asset Tag
  dmi.chassis.type: 9
  dmi.chassis.vendor: Notebook
  dmi.chassis.version: N/A
  dmi.modalias: 
dmi:bvnAmericanMegatrendsInc.:bvr4.6.5:bd10/02/2013:svnNotebook:pnW740SU:pvrNotApplicable:rvnNotebook:rnW740SU:rvrNotApplicable:cvnNotebook:ct9:cvrN/A:
  dmi.product.family: Not Applicable
  dmi.product.name: W740SU
  dmi.product.version: Not Applicable
  dmi.sys.vendor: Notebook

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1738432/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to