PPA Printer-Support RPM Packages for Red Hat Linux and Com- patible Distributions The pnm2ppa project team ppa-rpms@users.sourceforge.net v0.27, Nov 11, 2000 Information and installation instructions to accompany pnm2ppa pack- ages for Red Hat Linux available at http://sourceforge.net/pro- jects/pnm2ppa (Updated for pnm2ppa-1.04 and later.) See the "Trou- bleshooting" section at the end of this document for fixes to some reported problems OOvveerrvviieeww ooff HHPP''ss PPPPAA DDeesskkJJeett PPrriinntteerrss.. Most of Hewlett-Packard's DeskJet(tm) printers use the PCL3 command language, and are currently supported by Ghostscript drivers. However, a few models, namely +o _D_e_s_k_J_e_t _7_1_0_C _S_e_r_i_e_s: HP DeskJet 710C, 712C +o _D_e_s_k_J_e_t _7_2_0_C _S_e_r_i_e_s: HP DeskJet 720C, 722C +o _D_e_s_k_J_e_t _8_2_0_C _S_e_r_i_e_s: HP DeskJet 820Cxi, 820Cse _(_d_i_s_c_o_n_t_i_n_u_e_d_) +o _D_e_s_k_J_e_t _1_0_0_0_C _S_e_r_i_e_s: HP DeskJet 1000Cxi, 1000Cse _(_d_i_s_c_o_n_t_i_n_u_e_d_) feature "Host-based" printing, and use HP's proprietary PPA (_P_r_i_n_t_e_r _P_e_r_f_o_r_m_a_n_c_e _A_r_c_h_i_t_e_c_t_u_r_e) protocol, instead of PCL. The two models in each series are physically identical; they just come with different bundled Windows software. The 820C and 1000C series are discontinued at this time (January 2000). PPA printers rely on software running on the host CPU to carry out the low-level processing of printer output that would be done by hardware in a standard PCL printer. The relation of PPA printers to PCL printers is analogous to the relation between "Winmodems" and true modems. Unfortunately, HP only supplies Windows software drivers for PPA printers, and have indicated that it is unlikely that they will ever make the proprietary PPA specs public. This is apparently because of concerns that publication of the specs might reveal crucial details of HP's trade secrets about "color science" to competitors. (A secondary issue is that it is apparently possible to physically damage the printer by sending it bad sequences of PPA commands, which is not the case for PCL commands, and it seems that HP do not wish to take any responsibility for such damage by encouraging unofficial PPA programming.) In fact, the decline in hardware component prices has meant that the anticipated cost-savings through using host-based PPA instead of printer-based PCL are less than expected, and two of the PPA printer series (820C, 1000C) have been phased out, and replaced by similar PCL printers in HP's product line. The 710C and 720C series are still being sold at this time of writing. AAllll ootthheerr ccuurrrreennttllyy--ooffffeerreedd DDeesskkJJeett mmooddeellss aappppeeaarr ttoo bbee ssttaannddaarrdd PPCCLL33 pprriinntteerrss.. Many Linux users may have inadvertently purchased PPA DeskJet models, mistaking them for PCL3 DeskJets, for which independently-produced Linux drivers have long been available. Fortunately, a reverse engineering effort, started in 1998 by Tim Norman, http://www.normsoft.com/ppa and http://pnm2ppa.sourceforge.net, and continued by the _p_n_m_2_p_p_a project at http://sourceforge.net/projects/pnm2ppa has managed to produce drivers that provide basic printing functionality for these PPA printers under Linux and other Unices. TThhee ppnnmm22ppppaa ddrriivveerr ffoorr ccoolloorr pprriinnttiinngg wwiitthh PPPPAA pprriinntteerrss.. Color printing with PPA printers is supported by the pnm2ppa driver which is the successor to the older black-and-white-only driver pbm2ppa-0.8.6 developed by Tim Norman. pnm2ppa can translate _p_o_r_t_a_b_l_e _a_n_y_m_a_p (_p_n_m) format images into a stream of PPA instructions which can be sent to the printer. In the driver name, "_p_n_m" stands for the superset of _t_h_r_e_e image formats: _p_p_m (portable "pixmap" format for color images), _p_g_m (portable "greymap" format for greyscale images), and _p_b_m (portable "bitmap" format for black and white images). Ghostscript has a number of "output devices" that produce pnm format output from postscript or pdf input. These come in _p_l_a_i_n (text) and _r_a_w (binary) variants. While pnm2ppa can now interpret both plain and raw pnm formats, there is no point in using the inefficient plain formats: _a_l_w_a_y_s use the "raw" output devices, which are: +o _p_p_m_r_a_w - raw pixmap format (color images); +o _p_g_m_r_a_w - raw greymap format (greyscale images); +o _p_b_m_r_a_w - raw bitmap format (black and white images); +o _p_n_m_r_a_w - selects between ppm, pgm, and pbm raw formats; +o _p_g_n_m_r_a_w - selects between pgm and pbm raw formats. The last two output devices are switches that try to analyze the image, and select an appropriate format; however, they are not recommended for routine use, as they may inconsistently choose the format. The ghostscript-5.10 package supplied with Red Hat 6.x distributions provides all these devices; older versions may not. To see the list of available ghostscript output devices, type the command line gs --help if the required ppmraw or pbmraw devices are not shown, you will have to upgrade your version of ghostscript. The data must be streamed directly from ghostscript to pnm2ppa to the (local) printer without being stored in any intermediate file: one ppm-format (color) US Letter size page is represented by 3x5100x6600 Bytes (100MB) in binary format and four times this amount in text format. An example of a command line for printing a postscript file file.ps using gs (ghostscript) and pnm2ppa is cat file.ps | gs -q -sDEVICE=ppmraw -r600 -sPAPERSIZE=letter -dNOPAUSE \ -sOutputFile=- - | pnm2ppa --eco -v 720 -i - -o - | lpr -l (all on a single line). In this example the paper size is explicitly given to gs as _U_S _L_e_t_t_e_r (8.5"x11") size (letter); pnm2ppa no longer needs to be told what the paper size is, and will read it from the gs output (and check that it is a permitted size for the printer type). The pnm2ppa option --eco specifies "EconoFast" mode, for a lower quality output which uses less ink, and prints faster, and -v 720 specifies the PPA printer as belonging to the DeskJet 720C series. Obviously, it would be impractical to type such a command each time one wished to print something, so in addition to the pnm2ppa driver itself, an enhanced version of Red Hat's rhs-printfilters RPM package is provided; after this is installed, the PPA printer can be managed like other standard printers with the Red Hat printtool utility. The postscript file can then be printed with the simple command lpr file.ps +o _H_o_w_e_v_e_r_, _i_f _y_o_u _w_i_s_h _t_o _p_r_i_n_t _t_o _p_a_p_e_r _s_i_z_e_s _s_u_p_p_o_r_t_e_d _b_y _g_h_o_s_t_s_c_r_i_p_t_, _b_u_t _n_o_t _s_u_p_p_o_r_t_e_d _b_y _t_h_e _R_e_d _H_a_t printtool utility, you can use scripts like the one above. The HP 710C, 720C, and 820C series support paper sizes from 3"x3" to 8.5"x14", while the 1000C supports 4"x6" to 13"x19". AAvvaaiillaabbllee RRPPMM ppaacckkaaggeess.. A RPM package for pnm2ppa is part of the Red Hat Linux distribution starting with Red Hat 6.2. You will also find a RPM package for the latest release of pnm2ppa at http://sourceforge.net/projects/pnm2ppa. The latest version at the time of writing is pnm2ppa-1.04-1.i386.rpm, and is built on Red Hat 6.2. If you are running a different release of Red Hat (or a different Linux distribution) you may need to download and rebuild the source RPM pnm2ppa-1.04-1.src.rpm instead: rpm --rebuild pnm2ppa-1.04-1.src.rpm (You must be root to do this, and have the necessary compilers installed; on Red Hat, the rebuilt binary RPM will be created in the directory /usr/src/redhat/RPMS/i386/.) Red Hat 6.2 and later also includes support for configuring your printer to use pnm2ppa using printtool and rhs-printfilters. If you are using Red Hat 6.1 and earlier,you will need to update the rhs- printfilters that came with the distribution to the rhs- printfilters-1.57-4ppa4.i386.rpm also available at http://sourceforge.net/projects/pnm2ppa. (This is designed to work only with printtool-3.43 and earlier.) Note: If you are using Red Hat 6.2, you may wish to update the print filter support that it comes with. The pnm2ppa-1.04-1 RPM package supplies the necessary files that you can use. After installing this RPM, see /usr/lib/rhs/rhs-printfilters/README.ppa for details. IInnssttaalllliinngg tthhee pnm2ppa RPM package and setting up the PPA printer. To install the RPM package, you must log in as the system administrator, root. Now begin the installation. First install the pnm2ppa RPM: rpm -Uvh pnm2ppa-1.04-1.i386.rpm The pnm2ppa executable gets installed in /usr/bin/. If you are using a 2.2.x kernel, (e.g. Red Hat 6.x) it will be able to autodetect IEEE-1284 devices like PPA printers, provided they are attached to the parallel port with a bidirectional IEEE-1284 cable. (If your printer works under Windows, you have the correct cable.) (Note that older (2.0.x) kernels do not have this autoprobe facility.) A script detect_ppa is provided by the pnm2ppa RPM: just type detect_ppa to confirm that your Printer is found. It is possible (especially on Red Hat 6.1) that you will have to add a line alias parport_lowlevel parport_pc to the file /etc/conf.modules for the printer to be found (this is a parallel port recognition issue, not specific to PPA printers. and a known "gotcha" on Red Hat 6.1). A typical message from the printer, which will be displayed if autodetection is successful, is: CLASS:PRINTER; MODEL:DESKJET 820C; MANUFACTURER:HEWLETT-PACKARD; DESCRIPTION:Hewlett-Packard DeskJet 820C; COMMAND SET:SCP,VLINK; A list of PPA printers found, and the parallel ports to which they are attached, will also be shown. At this point it is useful to test that your printer is working, by printing a test page using the supplied script test_ppa which the RPM has installed. You will need to know your printer model (710, 712, 720, 722, 820, 1000), your paper size (letter, legal, a4) and the printer port the printer is attached to. If it is attached to the primary parallel port, this is /dev/lp1 under older 2.0.x kernels, and (usually) /dev/lp0 under newer 2.2.x kernels, as in Red Hat 6.x. Type test_ppa and give the details about printer model. papersize, and port number when prompted. You will then be asked whether to print a test page, an offset calibration page, or an alignment calibration page, etc. +o _T_i_p_: _T_h_e test_ppa _s_c_r_i_p_t _d_o_e_s _n_o_t _u_s_e _t_h_e _p_r_i_n_t _f_i_l_t_e_r_s _t_h_a_t _w_i_l_l _b_e _i_n_s_t_a_l_l_e_d _b_y _t_h_e rhs-printfilters _R_P_M_, _s_o _i_t _i_s _u_s_e_f_u_l _w_h_e_n _t_r_o_u_b_l_e_s_h_o_o_t_i_n_g_, _f_o_r _t_e_s_t_i_n_g _i_f _a_n_y _p_r_i_n_t_i_n_g _p_r_o_b_l_e_m_s _a_r_e _a_s_s_o_c_i_a_t_e_d _w_i_t_h _t_h_e _b_a_s_i_c _p_r_i_n_t_e_r _i_n_s_t_a_l_l_a_t_i_o_n_, _o_r _w_i_t_h _t_h_e _c_o_n_f_i_g_u_r_a_t_i_o_n _o_f _t_h_e _p_r_i_n_t _f_i_l_t_e_r_s_. IInnssttaalllliinngg tthhee PPPPAA--eennhhaanncceedd rhs-printfilters RPM package (if needed). +o _T_h_i_s _s_t_e_p _i_s _N_O_T _n_e_e_d_e_d _o_n _R_e_d _H_a_t _6_._2 _o_r _l_a_t_e_r_. The rhs-printfilters rpm distributed with Red Hat 6.1 does not support pnm2ppa, If you use an older distribution, you will first have to replace their rhs-printfilters RPM with the PPA-enhanced version from the pnm2ppa project. Once you have confirmed you have a working printer, install the RPM rhs-printfilters-1.57-4ppa4.i386.rpm rpm -Uvh rhs-printfilters-1.57-4ppa4.i386.rpm CCoonnffiigguurriinngg tthhee pprriinntt ffiilltteerrss wwiitthh printtool. Now start the "_R_e_d _H_a_t _L_i_n_u_x _P_r_i_n_t _S_y_s_t_e_m _M_a_n_a_g_e_r" (as root) to configure the printer, either by clicking on the printer icon in Red Hat's "control-panel", or just typing printtool In the Print System Manager window, click on _A_d_d, then in the "Add a Printer Entry", select _L_o_c_a_l _P_r_i_n_t_e_r, and click _O_k. Hopefully, the port on which the printer is attached will be listed as "Detected" (_i_f _n_o_t_, _f_i_x _t_h_e _p_r_o_b_l_e_m _b_e_f_o_r_e _c_o_n_t_i_n_u_i_n_g, perhaps by adding the line "alias parport_lowlevel parport_pc" to /etc/conf.modules), as men- tioned above. You will now have to "_e_d_i_t _t_h_e _l_o_c_a_l _p_r_i_n_t_e_r _e_n_t_r_y" for the PPA printer. Click on _S_e_l_e_c_t to chose the "Input filter". The _C_o_n_f_i_g_u_r_e _F_i_l_t_e_r screen will open. Among the many printer entries in the list "_P_r_i_n_t_e_r _T_y_p_e", you should find three entries +o HHPP DDeesskkJJeett 11000000 sseerriieess ((PPPPAA)) (for 1000Cse, 1000Cxi models) +o HHPP DDeesskkJJeett 771100//772200 sseerriieess ((PPPPAA)) (for 710C, 712C, 720C, 722C models) +o HHPP DDeesskkJJeett 882200 sseerriieess ((PPPPAA)) (for 820Cse, 820Cxi models) +o If these entries do not show up, it may be because the older rhs- printfilters package that you updated did not allow the printer database /usr/lib/rhs/rhs-printfilters/printerdb to be replaced. Try deleting or renaming the printerdb file, and then reinstall the PPA-enhanced rhs-printfilters RPM using "rpm --force -Uvh rhs- printfilters*" Select the appropriate entry for your printer model. You will then be presented with various options: +o The _D_r_i_v_e_r _D_e_s_c_r_i_p_t_i_o_n box contains information about the driver (you may have to use the scrollbar at the right of the box to read it all). +o The _r_e_s_o_l_u_t_i_o_n box shows a single resolution (600x600). There are no other choices. +o The _P_a_p_e_r _S_i_z_e box allows various choices (only _l_e_t_t_e_r, _l_e_g_a_l, and _a_4 seem correspond to native paper sizes printed by the Red Hat print filters; the other choices, (a3, ledger, ...) appear to get resized by the print filters to print on US Letter size paper (?) ). (Other paper sizes cannot be selected this way, but you _c_a_n print to any papersize, _i_f _i_t _s_u_p_p_o_r_t_e_d _b_y _b_o_t_h _g_h_o_s_t_s_c_r_i_p_t _a_n_d _t_h_e _p_r_i_n_t_e_r, using a script, as described above, that bypasses the RedHat printfilters.) +o The _C_o_l_o_r _D_e_p_t_h_/ _U_n_i_p_r_i_n_t _M_o_d_e box allows various selections of color and print quality (These are achieved by using various combinations of the pnm2ppa options _-_-_e_c_o (EconoFast mode), _-_p (disable black ink cartridge) and _-_-_b_w (black and white printing only), without direct intervention by the user.) The choices (in the most recent printerdb database) are: +o Black and White, econofast mode (--bw --eco) +o Black and White, normal quality (--bw) +o Color, econofast mode (--eco --fd) +o Color, normal quality (--eco) +o Color, high quality +o Color, normal quality, black ink disabled (-p --eco) +o Color, high quality, black ink disabled (-p --uni) (These are the choices that will be presented by "official" rhs- printfilters-1.72; if you installed a pnm2ppa RPM package from the SourceForge pnm2ppa site, you may have a file /usr/lib/rhs/rhs- printfilters/README.ppa explaining how to modify earlier versions of rhs-printfilters to show these updated choices.) You may also see a choice to use the older "Legacy" driver pbm2ppa (black and white only); this is is stable but unmaintained; it may still be a useful alternative to pnm2ppa on older, slower systems with less available memory. +o The three _P_r_i_n_t_i_n_g _o_p_t_i_o_n_s are not relevant here, and should _n_o_t be selected. They are for direct printing of text (ascii) to non- postscript printers, but since the only way of printing text files with pnm2ppa is by first converting them to postscript(tm), this is _n_o_t possible on the PPA printer. +o _I_t _i_s _i_m_p_o_r_t_a_n_t _t_h_a_t _t_h_e _c_h_o_i_c_e "Fast text printing (non-PS printers only)" _i_s _N_O_T _s_e_l_e_c_t_e_d_, _s_o _t_h_a_t _t_h_e _p_r_i_n_t _f_i_l_t_e_r_s _w_i_l_l _c_o_n_v_e_r_t _t_e_x_t _f_i_l_e_s _t_o _p_o_s_t_s_c_r_i_p_t _b_e_f_o_r_e _p_r_i_n_t_i_n_g_. +o The _M_a_r_g_i_n_s entries control the margins used when printing text files (these are instructions to the text-to-postscript conversion process). +o The _E_x_t_r_a _G_S _o_p_t_i_o_n_s box is not only a place for adding options for ghostscript, but also for the PPA drivers. _L_e_a_v_e _t_h_i_s _b_o_x _e_m_p_t_y _u_n_l_e_s_s _y_o_u _k_n_o_w _w_h_a_t _y_o_u _a_r_e _d_o_i_n_g. As explained in the text in the Driver Description box (you did read it, didn't you ?), the entry should be in the format: gs_options PPA ppa_options Anything before the "PPA" is interpreted as a gs option, anything after it is interpreted as a ppa option. You can learn about pnm2ppa options by typing either "man pnm2ppa" or "pnm2ppa --help" at a com- mand line (hopefully, these two sources of information will be consis- tent with each other!); When you have made your choices, click on _O_k to save your selections and close the "Configure Filter" screen, and then click on _O_K to close the "Edit Local Printer Entry" screen. You are now back in the "Red Hat Print System Manager" screen; highlight the printer you just configured, and, in the _T_e_s_t_s menu, choose _P_r_i_n_t _P_o_s_t_s_c_r_i_p_t _t_e_s_t _p_a_g_e to print a test page using the Red Hat print filters. If this printed correctly, your print system is set up to use the PPA printer, just like any of the other printers that the Red Hat print filters support. CCoonnffiigguurriinngg ppnnmm22ppppaa..ccoonnff aanndd ccaalliibbrraattiinngg tthhee pprriinntteerr.. A number of printer parameters are set to reasonable default values for each of the printer models, but you may wish to "fine tune" or calibrate your printer. The default values can be overridden by entries in the configuration files, which by default are /etc/pnm2ppa.conf and /etc/pbm2ppa.conf. At 600dpi, one pixel is 1/600 inch. The user-adjustable parameters are: +o vveerrbboossee 11 and ssiilleenntt 11. These control messages about progress and errors from pnm2ppa. By default, messages are sent to the system log /var/log/messages. The verbose 1 keyword send copies to stderr, the standard error stream to the terminal. The silent 1 keyword silences the stream of messages to the system log. +o TThhee ssyysstteemm lloogg mmeessssaaggeess mmaayy bbee ssiilleenncceedd iinn tthhee ddeeffaauulltt ccoonnffiigguurraattiioonn ffiillee;; sswwiittcchh ooffff ""ssiilleenntt"" mmooddee wwiitthh ""ssiilleenntt 00"" ffoorr ddeebbuuggggiinngg pprriinntteerr pprroobblleemmss ((oorr uussee vveerrbboossee mmooddee)).. +o The vveerrssiioonn keyword can be used to specify the printer model as 710, 712, 720, 722, 820, or 1000. It is not needed if you use the RedHat printool to configure the printer. +o xxooffffsseett and yyooffffsseett: the x-offset and y-offset (in pixels) of the printed image on the page, which should be chosen so the image is correctly centered on the paper. (These can also be set with the -x and -y options.) See CALIBRATION.html (or CALIBRATION.txt) for more information. +o ttooppmmaarrggiinn, bboottttoommmmaarrggiinn, lleeffttmmaarrggiinn, rriigghhttmmaarrggiinn: the four margins, which define the distances (in pixels) from the edges of the paper to the printed region; parts of the image that are outside these margins will not be printed. (These can also be set with the -t , -b , -l , and -r options.) +o CCoollOOffffssXX and CCoollOOffffssYY: the x-offset and y-offset (in pixels) between the color image produced by the color ink printer head, and that produced by the black ink printer head. These should be recalibrated eeaacchh ttiimmee aann iinnkk ccaarrttrriiddggee iiss rreeppllaacceedd. See CALIBRATION.html (or CALIBRATION.txt) for more information. +o bbllaacckksshheeaarr and ccoolloorrsshheeaarr: these are x offsets between right-to- left and left-to-right sweeps of the print head, one for the black printing and one for the color printing. These provide sideways offsets (in pixels) of the right-to-left sweeps, that can be used to correct "shearing" when printing in modes that use bidirectional print head sweeps. +o uunniimmooddee 11 will make unidirectional print sweeps (left-to-right) the default, instead of bidirectional sweeps. The --uni and --bi options can control how a particular print run is printed. Unidirectional printing is only useful (it is slower) if there are issues of "shearing" in high quality image printing. +o bbllaacckknneessss : this takes values 0,1,2,3 or 4 drops of black ink per pixel, and controls black ink density in black-and-white and "text- like" black regions in color printing. At present, this has no effect on printing with the black ink cartridge disabled, or on black regions identified as "image-like". (This can also be set with the -B option, where n is the number of drops.) +o GGaammmmaaRR, GGaammmmaaGG, and GGaammmmaaBB: the are the three "gamma" parameters that define the standard color correction curves for red, green, and blue. Changing these will affect how colors appear (decreasing any Gamma enhaces the corresponding color). The Gamma values are specified as decimal numbers, with Gamma = 1.0 corresponding to no color correction. +o Gamma values can also be specified using integer numbers RReeddGGaammmmaaIIddxx, GGrreeeennGGaammmmaaIIddxx, BBlluueeGGaammmmaaIIddxx; These are determined by a procedure discussed in COLOR.html or COLOR.txt, which involves printing a test page. The ppaappeerrssiizzee keyword specifies the paper size used for this testpage, because it is produced by pnm2ppa without the input that usually specifies the page size. +o The keywords bbllaacckk__iinnkk 00, ccoolloorr__iinnkk 00, ccyyaann__iinnkk 00, mmaaggeennttaa__iinnkk 00, and yyeellllooww__iinnkk 00 can be used to switch of the various inks; this can be useful in troubleshooting and debugging pnm2ppa. Use test_ppa to print various test pages or calibration patterns to adjust the offsets. If you wish to specify these parameters using the command-line options described above, some of them can be entered in the "extra GS options" box using the Print System Manager (printtool), as described above. UUttiilliittyy pprrooggrraammss ffoorr tthhee pprriinntteerr.. HP's Windows software provides a utility program that sends PPA commands to tell the printer to perform taks like cleaning the printheads, etc. The codes for some of these functions have already been reverse engineered. There are proposals to add support for PPA printers to the PUP (Printer Utility Program) utility, which is also a project at http://www.sourceforge.net. However, as of the time of writing, no PUP support for PPA printers is available (volunteers, anyone?). TTrroouubblleesshhoooottiinngg The first thing to do is to look at the messages from pnm2ppa in the system log to see what is happening, whether pnm2ppa aaccttuuaallllyy rreecceeiivveedd aannyy iinnppuutt, and if it was valid. ((YYoouu mmaayy nneeeedd ttoo eennaabbllee ssyysstteemm lloogg mmeessssaaggeess iinn /etc/pnm2ppa.conf, see above.) Maybe ghostscript failed to convert your postscript file into PNM format: this is nnoott a pnm2ppa problem! Here are suggestions for dealing with problems that you may encounter. +o PPrriinnttiinngg ffaaiillss iinn tthhee mmiiddddllee ooff aa pprriinntt rruunn, perhaps when a figure embedded in the document is printing (in the latest pnm2ppa versions, printing finishes normally, but an incomplete document is printed). The system log reports that read_line could not read the image, and found EOF (end-of-file). This probably means that ghostscript's "ppmraw" or "pgmraw" output device failed for some reason, usually leaving a core dump, without completing the translation of the postscript to a pnm format. (This has been seen to happen in ghostscript 5.10 ; upgrading to ghostscript 5.50 solved the problem.) If you cannot upgrade, try printing the document in black-and-white using the ghostscript "pbmraw" output device. +o TThhee test_ppa script works, but you can't get printtool to make the printfilters work. You installed pnm2ppa-1.0 and the PPA-enhanced rhs-printfilters (earlier than v. 1.61) from the pnm2ppa SourceForge page. You are using printtool v. 3.43 or earlier and are probably a Mandrake user. Solution: (a) use printtool to uninstall the PPA printer; (b) delete (or rename) the printer database /usr/lib/rhs/rhs- printfilters/printerdb, and reinstall the rhs-printfilters RPM using the "rpm --force ... " option; (c) use printtool to add the PPA printer again. (Your previously-installed rhs-printfilters may have resisted replacement of its printerdb). +o YYoouu uuppggrraaddeedd yyoouurr RReeddHHaatt ((oorr ccoommppaattiibbllee)) LLiinnuuxx ddiissttrriibbuuttiioonn aanndd yyoouurr pprriinnttffiilltteerrss nnoo lloonnggeerr wwoorrkk. You used to use a PPA-enhanced rhs-printfilters from the pnm2ppa SourceForge site. You upgraded your distribution to one using printtool v 3.44 or later (e.g. RedHat 6.2). Solution: Make sure that rhs-printfilters has been updated to a version 1.61 or greater that came with your upgraded distribution. Use printtool to delete, and then add the PPA printer This will create a new printer configuration compatible with your upgraded distribution. +o YYoouu pprriinntteedd aann iimmaaggee ffiillee uussiinngg aa ""hhiigghh qquuaalliittyy"" pprriinntteerr sseettttiinngg,, bbuutt iitt hhaass vviissiibbllee hhoorriizzoonnttaall lliinneess oonn iitt and printing under Windows(tm) 9x doesn't show this effect (except in "economode"). These are probably "swath boundaries", showing the junction between different sweeps of the print head. Solution: using unidirectional printing (PPA option --uni, or unimode 1 in /etc/pnm2ppa.conf) helps a little, but this problem requires an extensive rewrite of part of pnm2ppa (cutswath.c) for a satisfactory solution. (Volunteers welcome - see the TODO file in the pnm2ppa docs (/usr/doc/pnm2ppa*/TODO)!) +o "FFllaasshhiinngg lliigghhtt ssyynnddrroommee ". Your printer usually works, but you have found that some particular documents cause the printer to fail, and the lights on its panel start flashing rapidly in sequence. Solution, turn the printer off and back on again. This is not supposed to happen any more; if it happens reproducibly, contact the pnm2ppa developers, and offer to make the offending file available for testing and diagnosis of this problem. (Don't sent it to the Mailing List unless requested). Bug reports can be filed at the SourceForge pnm2ppa site. +o YYoouu wwiisshh ttoo pprriinntt oonn eennvveellooppeess oorr ootthheerr nnoonn--ssttaannddaarrdd mmeeddiiaa nnoott ssuuppppoorrtteedd bbyy tthhee pprriinntt ffiilltteerrss? Solution: if you can get Ghostscript (gs) to produce the correct image, and the paper size is in the range allowed by your printer, you should be able to do this with a script that bypasses the print filters, as described earlier in this document. +o CCoolloorrss llooookk wwrroonngg,, oorr ddoo nnoott mmaattcchh wwhhaatt tthhee WWiinnddoowwss((ttmm)) 99xx ddrriivveerr pprroodduucceess. Solution: check that your color ink cartridge is not running out of some ink color; if not, (a) adjust the "gamma" entries in /etc/pnm2ppa,conf, or (b) install a customized color calibration file /etc/pnm2ppa.gamma. See the file COLOR.html (or COLOR.txt) for more information. CCoonnttaaccttiinngg tthhee ppnnmm22ppppaa pprroojjeecctt.. Send comments or corrections (about this document or the RPMS) to: ppa-rpms@users.sourceforge.net There are three mailing lists, _p_p_a_._a_n_n_o_u_n_c_e (announcements), _p_p_a_._u_s_e_r_s (users helping users) and _p_p_a_._d_e_v_e_l (developers). You can subscribe to them, or browse their archives, at http://pnm2ppa.sourceforge.net/maillist.htm. To contact the developers, subscribe to _p_p_a_._d_e_v_e_l and post a message. There are Public Forums for posting questions and comments at http://sourceforge.net/projects/pnm2ppa (but whether you get any help from these, depends on whether anyone is reading them).