2

I've set up .local hostname resolution, started cups-browsed and restarted org.cups.cupsd.service. avahi-browse shows the WiFi printer:

$ avahi-browse --all --ignore-local | head --lines=1 | tr --squeeze-repeats ' '
+ enp5s0 IPv6 Canon MG6400 series _canon-bjnp1._tcp local

However, http://127.0.0.1:631/admin/ shows no printers whatsoever. What gives?

1

For automatic discovery, you need an extra component from CUPS called cups-browsed, which queries the Avahi daemon and then populates CUPS configuration based on what the Avahi daemon sees. Unfortunately, I'm not quite sure what's needed on Arch to get this set up (the daemon itself shouldn't need any customization to the configuration, I'm just not sure what the service name is on Arch to enable it, or even whether it's part of the standard CUPS install or not).

  • That's already installed & running. – l0b0 May 14 '18 at 20:44
0

WARNING: This answer in its totality is only valid for more recent versions of CUPS (like 2.2.x). For previous versions, ask specifically if you do not understand what the manpage for cupsd.conf says...


First, CUPS only ever automatically installs and detects local network printers which announce themselves as IPP-capable (Internet Printing Protocol). A proprietary Canon-designed protocol will not work.

To check if your printer is one of the IPP-enabled models, simply run

ippfind [ENTER]

It should return a list of print device (or CUPS queue) URIs which are IPP-enabled.

Second, if your Canon MG6400 model did support IPP, your avahi-browse discovery should be returning not simply the service subtype _canon-bjnp1._tcp, but also _ipp._tcp. and/or _ipps._tcp. .... but maybe you are overlooking this, because your | head --lines=1 throws these results out of the window?

Third, to enable CUPS for full participation in ZeroConf/Bonjour networking to automatically use shared printers and in turn share its own local printers, you need the following lines in your /etc/cups/cupsd.conf file:

BrowseDNSSDSubTypes _cups,_print
BrowseLocalProtocols all
Port 631

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.