Inconsistent Printing On CentOS 7

Home » CentOS » Inconsistent Printing On CentOS 7
CentOS 5 Comments

I have ongoing issues with my Xerox Phaser 2550 printer under CentOS 7. It always worked without any issues on CentOS 6 before I upgraded to CentOS 7.

The problem manifests itself by regularly (but not every time) printing page after page of garbage instead of the document that I wanted to print out. Sometimes it works, sometimes it doesn’t. The same document might print fine now but then I get pages of garbage the next time I print.

I have it set up as a shared printer on my network; the other computers on my network are all CentOS 6.

Printing from another computer on my network sometimes works but more often prints pages of garbage. When experimenting with this last night printing test pages from system-config-printer on a CentOS 6 machine to the printer on this CentOS 7 machine, I sometimes got a “Connecting to printer” message and then nothing printed until I restarted cups on the CentOS 6 computer. This didn’t happen every time; once again sometimes I got a test page printed, sometimes I got pages of garbage, sometimes I got the “connecting to printer” message and had to restart cups on the CentOS 6 computer.

Having become tired of this, I disconnected the printer from my CentOS 7 machine and connected it to one of the CentOS 6 machines and it worked without error when printing from that computer directly and when printing to it from another CentOS 6 machine.

The printer also showed up by magic as a discovered printer on the other CentOS 6 machine, but didn’t show up on the CentOS 7 machine until I loaded system-config-printer on CentOS 7, “new”, and told it to search for network printers on the CentOS 6 machine.

Therefore, automatic printer discovery doesn’t seem to work on this CentOS 7 machine either.

Now that the printer is connected to a CentOS 6 machine again it appears to work fine when talking to other CentOS 6 machines on the network and the printer is automatically discovered.

After searching for the network printer from the CentOS 7 machine and setting it up using the default (just hitting ok after it found the printer), my first attempt at printing a test page gave me a sheet that says this:

#PDF-BANNER
Template default-testpage.pdf Show printer-name printer-info printer-location printer-make-and-model printer-d river-name printer-driver-version paper-size imageable-area job-id options time-
at-creation time-at-processing

This obviously wasn’t what I expected to see, so I ran system-config-printer on the CentOS 7 machine again and changed the printer driver for that printer to Xerox Phaser 3150, the same as the setting on the CentOS 6 machine that the printer is now connected to.

Now the test page prints fine, but I get two sheets out of the printer every time I print the test page. The first one says “**** Warning: glyf overlaps cmap, truncating.” Then the test page prints as expected.

After printing the test page I get a printer error icon (printer with a red dot and white line on it) in the notification area on my panel. Clicking on that icon does nothing and hovering over it does nothing either but the only way it goes away is if I log out and log back in.

In conclusion, the printing really doesn’t work properly from this CentOS 7 machine, regardless of whether the printer is directly connected or if I’m printing over the network. Direct connecting the printer causes it to print pages of garbage some of the time, automatic remote printer discovery doesn’t work, and manually setting up up to print to the remote printer still generates an error of some kind but does appear to print.

I can find nothing in /var/log/cups that tells me anything useful. /var/log/cups/error_log isn’t updated when I print to the remote printer, even though the printer error icon shows up on my panel. page_log just tells me that it printed a page.

All of this stuff works perfectly and automatically from CentOS 6 (both printing to the local printer on a CentOS 6 machine and printing over the network from a CentOS 6 machine to another CentOS 6 machine).

5 thoughts on - Inconsistent Printing On CentOS 7

  • Frank Cox wrote:

    That, to me, sounds like a driver issue – pages and pages of garbage reminds me of postscript not going through a ps driver.

    One other possibility, though very unlikely in your case, is someone probing your network. We just realized that the crap showing up every day or so on the printer near me was actually our PEN tester team hitting the printer (the http help was curious; the line with (nessus) told me the story).

    mark

  • Which suggests: set up printer to accept connections from print server only, and have all clients set up so that they talk to print server. And avoid print server accepting print jobs from everywhere on the network
    (only ones who can physically walk up to the printer and pick up their print jobs have legitimate right to print to it ;-). Kind of defeats lazy setup like “just share the printer”… But effort pays off in not wasted supplies at least, and in easy troubleshooting when one of the clients manages to consistently hit printer firmware bug…

    Valeri

    ++++++++++++++++++++++++++++++++++++++++
    Valeri Galtsev Sr System Administrator Department of Astronomy and Astrophysics Kavli Institute for Cosmological Physics University of Chicago Phone: 773-702-4247
    ++++++++++++++++++++++++++++++++++++++++

  • That’s likely part of the issue but I think there is more to it due to the discovery issue; more details about that below:

    I also have a HP Color Laserjet 2550L printer hooked up the same way as the Xerox Phaser 3250. I moved both printers to the CentOS 6 machine and neither one of them were “discovered” by the CentOS 7 machine. Both of those printers showed up by magic as discovered printers on the other CentOS 6 machines.

    When the printers were hooked up to the CentOS 7 machine, they weren’t automatically “discovered” by the CentOS 6 machines.

    I set up those printers this morning as shared printers on a CentOS 6 machine and there was no further configuration required to get them to show up and work on the other CentOS 6 machines. In order to get them to work on the CentOS 7 machine, I had to “search for printers” and specify the hostname to search with system-config-printer. They then showed up but the test page didn’t print properly using the default settings and I had to change those settings as described in my previous message to get the test pages to print.

    I find it curious that nobody else seems to have encountered this problem. That make me suspect that cups is mis-configured on CentOS 7 in a way that affects both printer discovery (incoming and outgoing) and the printer driver. For another example, I occasionally get the message “connecting to printer” when printing from CentOS 6 to the printer on CentOS 7 (and no print-out); that doesn’t happen when printing from CentOS 6 to another CentOS 6 machine.

  • I note that CentOS 7 uses cups-1.6.3-14 while CentOS 6 uses cups-1.4.2-52

    I found this email of interest:

    https://lists.fedoraproject.org/pipermail/devel/2012-January/161306.html

    As well as this article: http://lwn.net/Articles/485617/

    Note that the email states as follows:

    QUOTE:
    One of the notable things that will be disappearing is CUPS Browsing. This is currently the primary mechanism for CUPS-to-CUPS printer queue discovery on Linux. It works by having each CUPS server periodically broadcast UDP packets on port 631 announcing its available queues.

    This method of discovery is being dropped in favour of DNS-SD. Support for this has been upstream in CUPS for some time — it’s what CUPS uses on Mac OS X — but is not functional with Avahi. (For Fedora, I have added patches to support Avahi.)

    This means that once CUPS drops support for CUPS Browsing, automatic CUPS queue discovery *will require Avahi* to be running on both the server (i.e. the system hosting the CUPS queue) and the clients (i.e. the systems wanting to print to it). END OF QUOTE

    Avahi is running on the CentOS 6 computer that’s now serving as the print server, as well as the CentOS 7 machine. mdns (port 5353udp) is open on both the print server and the CentOS 7 client.

    The remote printers still don’t show up on the client unless I say “find network printer” with system-config-printer and then tell it specifically to scan the print server name.

  • It appears that Cups 1.6 no longer supports automatic discovery of remote printers.

    https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1052897

    So that’s one question answered. Apparently not having remote printers show up automatically is the expected behaviour as it can no longer be done.

    I’m getting the impression that printing with CentOS 7 has broken, due to shortcomings in cups 1.6.

    A raw print queue doesn’t work for me when printing to the Xerox Phaser 3150 from the CentOS 7 client to the CentOS 6 print server. All I get when printing a test page with the raw queue is this:

    #PDF-BANNER
    Template default-testpage.pdf Show printer-name printer-info printer-location printer-make-and-model printer-d river-name printer-driver-version paper-size imageable-area job-id options time-
    at-creation time-at-processing

    Changing the printer driver on the CentOS 7 client to Xerox Phaser 3150 instead of raw gets me two pages of print-out when I click “print test page”. The first page says, “**** Warning: glyf overlaps cmap, truncating.” Then the test page prints as expected.