The printer may be working fine and dandy right now. If that's the case, go grab a cup of coffee and move on to another chapter. If you're having a problem, it's probably one of two things:
The printer is not responding-The printer isn't working at all, or it can't be accessed by remote users.
The printer needs tuning-The printer needs some tuning to work with different paper sizes, banners, margins, resolutions, or other features.
Whether you are configuring a local printer or a network printer, the first thing you want to do is make sure that the printer is connected properly and working on its local system. Assuming the printer you are configuring is physically connected to your Fedora Core computer, go through these steps to check your setup:
Is the hardware connected? Do you have the proper power supply and cables for the printer? Are the printer cartridges properly installed and of the right type?
Did you configure the printer as described in the previous section? Preferably, you had the printer plugged in during Fedora installation. Check the Printer Configuration tool to see if the printer is visible. (If the printer is not visible, return to Using Red Hat's Printer Configuration Tool section earlier in this chapter and set up the printer manually.)
From the Printer Configuration tool, click Test and print a test page. Select the appropriate page for the problem you are experiencing:
General printing-Select CUPS Test Page to see color wheel, 1 degree radial lines, and information about imageable area (page size and so on) and interpreter (PostScript, PCL).
Images-Select JPEG test. This option prints a set of JPEG test images, grayscale, and primary color boxes.
Postscript-Select US Letter PostScript test page. This lets you see if margins are lining up correctly and shows different colors (for color printers).
Plain text-Select ASCII text test page.
Note |
If the test page doesn't print correctly, click No. Printer error log information is then displayed. This information is stored in the file /var/log/cups/error_log. |
If you have configured your printer to print from a remote client and nothing shows up, there are several ways to track down the problem:
Print locally-Before you try debugging your remote printing connection, make sure that you can print a document from the local host.
Check printer name-Check that the name of your printer was properly configured on the client computer. You may need to enter a fully qualified domain name of the printer, if that is required in your case. Here is an example of a full CUPS IPP name for a printer:
ipp://jukebox.linuxtoys.net:631/printers/HP-722C
If you check this printer in the Printer Configuration tool on another Fedora Core or Red Hat Linux computer, the information on the Queue Type page would be the following:
Queue type: Networked CUPS (IPP) Server: jukebox.linuxtoys.net:631 Path: /printers/HP-722C
Check allowed hosts-Make sure that you have allowed access to this printer for either all hosts or selected host computers.
Check browsing settings-The cupsd daemon has the ability to broadcast the availability of the printers you configure on the network. This feature allows other computers to "browse" for available printers on the network, making it easier to configure connections to them. When you share a printer, using the interface pointed to in the previous step, browsing is turned on and broadcast to the selected hosts.
Here's an example of the Browsing lines in the /etc/cups/cupsd.conf file for a CUPS server that is sharing all its printers to computers on network 10.0.0. and broadcasting that fact to them:
Browsing On BrowseProtocols cups BrowseOrder Deny,Allow BrowseAllow from @LOCAL BrowseAddress 10.0.0.255
Here you can see that the Browsing feature is turned on, and that CUPS-style browsing is being used. BrowseOrder says to deny access to the service unless it is explicitly allowed. With BrowseAllow from @LOCAL set, Browsing is allowed on all your Ethernet (eth0, eth1, and so on) and other non-point-to-point interfaces and printer availability is broadcast on these network interfaces.
Note |
The Browsing setting can be turned on and off through the Printer configuration window by selecting the printer you want to share and clicking on the Action ⇨Sharing menu item. Click This Queue is Available to Other Computers to turn on the service and then choose which hosts to allow (or just leave all hosts on). |
Check your firewall-If your Fedora Core system has a firewall installed, before anyone can print on your printer from outside the local host, you need to open port 631.
Check CUPS daemon-Make sure that your printer service is running. You can simply type ps ax|grep cupsd to see if a cupsd daemon is running, or you can restart the service by typing service cups restart.
Run network traffic analyzer-The Ethereal window can watch and capture live data from your LAN. To open Ethereal, select Internet⇨More Internet Applications⇨ Ethereal from the Red Hat menu. Because IPP broadcasts the availability of its printers on the network, you can use Ethereal to see which printers are available.
In the Ethereal window, click Capture ⇨ Start. Select the interface to watch (such as eth0) and click OK. A pop-up window shows captured frames from the network. Click Stop after you have had a sampling. Packet data appears in the main Ethereal window.
Click on the Protocol column to sort packets by protocol. Look for packets with the CUPS protocol (scroll down if necessary). Here is an example showing several packet headers displaying the availability of printers:
1 0.000000 10.0.0.100 CUPS ipp:/a.linuxtoys.net:631/printers/HP1 (idle) 2 1.000513 10.0.0.198 CUPS ipp:/jb.linuxtoys.net:631/printers/JB1 (idle)
Here you can see that two printers have broadcast their availability on the LAN.
It is possible that you may be able to print, but are still unhappy with some of the settings on your printer. The color may not be quite right or the margins might be too large or too small, or there may be extra features specific to your printer that you want to access. To help you understand your printer better, we will walk you through the process of reviewing printer settings for Linux. We used two models as examples: a basic PostScript printer (HP LaserJet 2100M) and a low-end locally connected printer (HP DeskJet 722C).
Check the notes-If you added the printer using the Printer Configuration window, you can see the information about the selected driver from that window. From the Printer Configuration window:
Double-click on the printer name. The Edit a Print Queue window appears.
Select the Printer Driver tab.
Click Printer Driver Notes to see information about the selected driver.
For the 2100M, the pxlmono driver was selected. The text says that the driver is faster than the lj5gray or lj5mono drivers. If we care to, we can try out these drivers.
For the 722C, the pnm2ppa driver was selected. These notes tell us that the printer supported by this driver is a host-based printer. This means that a special driver was needed, since much of the processing typically done in the printer is being done in the operating system. Because this is a special type of driver, no other options are listed for this printer.
Check driver options-Click the Driver Options tab. While the standard Postscript driver has only five or six settings, by selecting specific drivers for our 2100M and 722C printers, we have many more options to choose from.
The 722C has special settings, such as options for Color mode (color cartridges for photos, both cartridges for text with images, or grayscale with black cartridge only), bidirectional printing, and GhostScript Rendering Format.
By selecting 2100M instead of the standard Postscript driver, we can select special options supported by this printer, including printout mode (normal, draft, or high quality), page size (US Letter, US Legal, A3, A4, and others), resolution (from 300 to 1200 dpi), and manual feed (on or off),
Check printing database-Go to www.linuxprinting.org/printer_list.cgi and search for your printer or driver. From this page, you can read a description of the printer's driver and go to links that provide further information. One nice feature is that you can view the PPD file. Because that file is in plain text, you can read the settings being used to define the printer options. For our two example printers, the PPD files tell us several things:
With the LaserJet 2100M, besides the pxlmono driver that is recommended, the page lists several other drivers we could use with this printer. It also gives a link to download different PPD files to try with the printer.
For the Deskjet 722C, this page provides a link to the driver's project and home pages: http://sourceforge.net/projects/pnm2ppa and http://pnm2ppa.sourceforge.net. This site has some great guides for using the pnm2ppa drivers.
You can change any of the options in the Edit a Print Queue window. These options are then stored in the /etc/cups/lpoptions file. You can view the options set in this file for each of your printers. Change these options with the lpoptions command. However, keep in mind that any changes you make by editing the lpoptions file or running the lpoptions command will be overwritten if you make changes to the printer information again through the Printer Configuration tool.
Here's an example of how to change printer options with the lpoptions command:
# lpoptions -p printer1 -o page-bottom=80
This command sets the page-bottom option to 80 points for the printer named printer1.
If you'd like to change other features for your printer, you can do so in the Printer Configuration tool. From the Printer Configuration window, click on the printer and select Edit. There are several options you might want to explore:
Add banners-You can add banners at the beginning or end of a print job. Click the Queue Options tab and choose one of six predefined banner pages. A standard banner tells you the JobID, filename title, and username.
Adjust margins-Change top, bottom, left, or right margins. Click the Queue Options tab. Change any margin from the default point size (usually 36 points, which equals 1/2 inch).
Choose a different printer driver-Some printers have multiple drivers available. To see if yours does, click the Printer Driver tab. Click the down arrow in the Available Drivers box to see if multiple drivers are available.
Note |
Click the Printer Driver tab and select Printer/Driver Notes. The page that appears contains notes from the Linux Printing Database. |
Enable special features-By selecting the Driver Options tab, you can enable features that are specific to the printer driver you are using. For example, with the standard Postscript printer driver, you can set nonstandard page sizes, do double-sided printing, or change to a higher print resolution, if these features are supported.