37

I am running Ubuntu 18.04.2 Desktop on my laptop.

I have installed CUPS to a Raspberry Pi running Raspbian. My Mac will consistently print to this printer without any problems.

From Ubuntu Desktop I am only able to print to the printer ~1 minute after a reboot of Ubuntu Desktop. After that time documents will not print.

When I visit ‘localhost:631’ from Ubuntu Desktop the status is listed as ‘Idle - “No suitable Destination Host found by cups-browsed”’ (see attached).

Images can be seen here https://i.stack.imgur.com/GF2JC.jpg

burnedfaceless
  • 903
  • 2
  • 9
  • 15

7 Answers7

30

I was able to get my printer working. This seems to be some sort of bug in cups-browsed, which is a program that tries to automatically install every printer on the network. After removing cups-browsed I was able to manually add the printer, and was able to print without rebooting before hand.

First: uninstall cups-browsed

sudo apt-get purge --autoremove cups-browsed

Next: Restart your computer

Finally manually add your printer

  1. In Ubuntu 18.04 go to settings -> devices -> printers.
  2. Click on 'Additional Printer Settings'.
  3. Click on Add
  4. Under Network Printers select Find Network Printer. Enter the IP Address that your server running CUPS has. Once you follow the steps to install your printer you should be able to print consistently without rebooting.
burnedfaceless
  • 903
  • 2
  • 9
  • 15
  • 13
    I removed cups-browsed and was able to add printer and start printing even without the reboot on 20.04 – Sava Jun 02 '20 at 21:46
  • 5
    I can confirm that this works - even without the reboot - on Ubuntu 20.10. – starbeamrainbowlabs Nov 01 '20 at 19:58
  • This has been [reported as a bug](https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/1855595). – Mark Smith Dec 05 '20 at 08:28
  • 2
    I used your command to remove cups-browsed and could get it working again by reinstalling cups-browsed. No restart required. Ubuntu 20.04.1 LTS – embe Jan 02 '21 at 09:41
  • 1
    `sudo apt purge --auto-remove cups-browsed && sudo apt install cups-browsed` also worked for me, _however_, another answer mentions simply running `systemctl restart cups-browsed`, and I wish I'd tried that first, because that might be all that's necessary. – Dave Yarwood Apr 22 '21 at 01:13
  • 1
    The problem for some reason came back in the 5 days since my last comment! Running `sudo systemctl restart cups-browsed` fixed it. – Dave Yarwood Apr 28 '21 at 01:49
  • Ubuntu 20.04.2 LTS here. Did `systemctl restart cups-browsed`, no luck. Did reinstall of `cups-browsed` like in comment above, no luck. Rebooted -> printing works! :) – Ida May 10 '21 at 14:55
30

You dont need to remove anything or add your printer manually. Just do this:

systemctl stop cups-browsed

systemctl start cups-browsed

or simplifying:

systemctl restart cups-browsed

I did the full start and stop, and it worked for me.

Toguko
  • 401
  • 4
  • 3
3

I have a similar answer to @burnedfaceless that I came upon somewhat by accident. Since I was not comfortable removing a service that came with the system (Pop!_OS 20.04), I ran

systemctl stop cups-browsed

I then manually searched for and added the printer via Settings > Printers > Add...

At that point I was able to print normally, and only the one, manually-added, instance of my printer was visible. To test this further, I rebooted, expecting cups-browsed to restart itself (it did) and a second instance of the same printer to appear via the cups-browsed service (it did not, happily). So far so good. I am not sure why cups-browsed did not automatically add its own instance of the printer, but glad it did not.

One difference I have noted since doing this is that if I run:

lpstat -t
scheduler is running
system default destination: <short printer name>
device for <short printer name>: dnssd://<full url-encoded printer name>._ipp._tcp.local/?uuid=e...

If I recall correctly, the device URI was implicitclass://<printer name>, or something like that, when cups-browsed added it. Now it is dnssd://.... Perhaps this makes sense to someone who understands CUPS and/or systemd much better than I do.

Steve
  • 131
  • 2
  • Just fyi, Pop_OS! is off-topic, although this issue might be the same on Ubuntu. – Artur Meinild Dec 26 '20 at 20:02
  • @ArturMeinild, I realize that Pop is not Ubuntu, but it is Ubuntu based. Ubuntu is also considerably more prevalent than Pop so I have found that sites like this one are a good place to troubleshoot. From my limited experience, there seems to be a great deal of congruence between Pop and Ubuntu. I offered my "answer" in the hope that it might help others, both Ubuntu users and Pop users. – Steve Dec 27 '20 at 00:17
  • And I don't blame you at all - just saying. – Artur Meinild Dec 27 '20 at 08:35
  • I experienced a similar issue on Ubuntu 20.04 and confirm that this solution works for me – gerlos Feb 24 '21 at 01:40
  • I can confirm this solution worked for me with Devuan Ceres, a non-systemd variant of Debian 13 (trixie) – russelld Jul 27 '23 at 23:01
2

Restart and even reinstall cups-browsed did not help me. Only solved this by assigning printer fixed IP address in the router settings and then added new printer manually with address ips://fixed-printer-ip-address/ips and selected proper driver.

ivan.ukr
  • 349
  • 4
  • 10
1

I suffered for a long time with setting up the pantum BM5100ADW printer. The test page prints, print jobs go through but the printer does not print. Reloading or disabling cups-browsed did not resolve the issue. Only setting a fixed IP and connecting via AppSocket helped. enter image description here

askrynnikov
  • 111
  • 2
0

This happened to me, too. I'd previously been able to print easily with mDNS (aka Avahi aka Bonjour), but recently found I couldn't print from my laptop -- even though I could SSH to the CUPS print server and print a test page just fine, could see the CUPS IPP service on port 631 (which you can just browse to in a web browser), and could even see the mDNS record being correctly broadcast. I couldn't get cups-browsed to resolve the hostname, when I ran cups-browsed -v in terminal I saw it looking at the mDNS broadcast data but also reporting:

Printer ipps://<model_name> @ ._ipps._tcp.local/cups (.local, IP not determined)

Eventually I realized I'd reconfigured /etc/nsswitch.conf, essentially bringing this upon myself. I had updated the hosts: line to put [!UNAVAIL=return] before the mdns4_minimal entry, meaning that systemd-resolved would try /etc/hosts and normal DNS, but quit before turning to mDNS. I moved [!UNAVAIL=return] after mdns4_minimal, restarted networking with sudo systemctl status networking.service, and then was able to see it getting resolved by mDNS correctly.

You can't use standard DNS tools to validate this, but you can use avahi-browse --all or avahi-discover to see what's being broadcast via mDNS, and then you can use ping <hostname>.local to test whether <hostname> is resolvable via mDNS.

0

I had similar issues. Right after a fresh install I could print just fine, as well as after updating, but eventually after personalizing my install, network printing would break. USB printing was never a problem. Turns out the issue was my VPN (Mullvad). Once I realized this and changed the setting in Mullvad to allow local devices, all is well.

Tossfm
  • 1