CUPS unable to automatically locate printer

After an update sometime ago, cups started to fail when trying to print to printers that were automatically detected. The printers address would show up as

   dnssd://Brother%20DCP-L2540DW%20series._ipp._tcp.local/?uuid=e3248000-80ce-11db-xxxx-xxxxxxxxx

When trying to print to such a printer, cups would give the following error:

Unable to locate printer 'BRWXXXXXX.local'

If you have avahi running, then you can run

lpinfo -v

to list all the network printers. This would show, for example

network ipp
network ipps
network socket
file cups-pdf:/
direct hp
network lpd
network http
network https
network smb
direct hpfax
network dnssd://Brother%20DCP-L2540DW%20series._ipp._tcp.local/?uuid=e3248000-80ce-11db-xxxx-xxxxxxxxx
network lpd://BRW1008B19C71E2/BINARY_P1

The problem is that the correct libraries were not installed; see this askubuntu page. It tells you that you need to install the nss-mnds library. This is some sort of dns service that is necessary for cups to function. Once you install it using

pacman -S nss-mdns

Edit the file

/etc/nsswitch.conf

so that the hosts line contains.

   hosts: files mdns_minimal dns mdns
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s