Resolving Printer problems with Canon LBP8 and Ghostscript in (Redhat) Linux.

Problem: LBP8 printer not found when using printool in Redhat Linux

Problem: Ghostscript prints pages to LBP8 off-center

Problem: The printer issues a "Load A4" when printing


Description:The LBP8 printer is not displayed from the select printer dialog in printtool

The GSDriver entry in the file /usr/lib/rhs/rhs-printfilters/printerdb

reads:     GSDriver: lpb8

should be: GSDriver: lbp8

I raised this issue when RH 5.0 was released, it is still not resolved in 5.1 (Am I the only one left with a lbp8?)

The printool will not list the canon lbp printer because of a character transpostion in the printerdb.

The Fix: edit printerdb, changing lpb8 to lbp8.  Restart printtool and the lbp8 should showup.


Description:Ghostscript 3.33 (and I assume later versions) prints pages  off-center (too far down and right). I found the following news post several years ago which resolved the problem. Grab the ghostscript source, try www.gnu.org/software/ghostscript/ghostscript.html, patch gdevlbp8.c (patchfile). You might have to uncomment the lbp8 device in one of the header files so that the lbp is compiled into gs.

This problem apprears to have been corrected in GS version 5, making this section a historical artifact. This printer is now ten years old and still going :-)
 
 

------------   News post begins -------------------
Subject:      lbp8 driver problem and fix?
From:         0blik01@almere.flnet.nl (Henk Blik)
Date:         1996/12/28
Message-Id:   <32C59B11.16C89A89@almere.flnet.nl>
X-Nntp-Posting-Host: amsterdam33.pop.tip.nl
Sender:       news@tip.nl
Content-Type: text/plain; charset=us-Ascii
Organization: The Internet Plaza
X-Gateway:    relay4.UU.NET from bug-Ghostscript to gnu.ghostscript.bug; Sat, 28
Dec 1996 16:14:51 EST
Mime-Version: 1.0
Newsgroups:   gnu.ghostscript.bug
X-Mailer:     Mozilla 3.0Gold (X11; I; Linux 2.0.0 i586)


I did try to mail the following directly to the authers but it seems
there e-mail adresses ain't up to date any more so I drop it here.


Hi,

Using ghostscript 3.33 with my Canon LBP4+ with A4 paper I noticed that
some of the pages were losing information at the bottom of the page.
Following such a page were several pages that al had just one line of
plotdata. Drawing a ruler showed that the ruler was lowered by about .2
inch. Same oproblem occured using an LBP8-III printer. (LBP4+ and
LBP-III are compatible and use the same version of CaPSL). Looking into 
the source of gdevlbp8.c and the CaPSL III programmers manual
Understanding CaPSL Language (positial commands) I found that the
problem was caused by the fact that the upper left point of the
effective print area is not 0, 0 but 0, -63 (in units of 1/100"). The
driver starts to plot a coordinate 0, 0 which is in effect 63 lines to
low. You cannot specify an absolute move to coordinate less than zero so
I solved the problem by first an absolute move, followed by a relative
move. I don't have access to CaPLS II manuals but giving the fact that
the Canon-LBP8 III is upwards compatible with the LBP8-II, the same
problem may arise with the LBP8-II printers. I do have access to the
CaPLS IV Programmers Manual CaPSL IV Command Reference (and a LBP8-IV
printer) and it also says that the origin is located 63/300 inch below
the top of the effective print area (move absolute).
I don't no the effects for a LIPS III printer but it might be worth
looking into it.

Here's the patch: cut it out, save it as gdevlbp8.patch, copy gdevlbp8.c to /tmp along with the patch
issue the command patch -p0 < gdevlbp.patch
the patch should be installed. Copy gdevlbp8.c back to the source tree.
---------------- cut her -----------
--- gdevlbp8.c~ Wed May 29 20:48:33 1996
+++ gdevlbp8.c  Thu Dec 26 21:07:35 1996
@@ -112,8 +112,21 @@
                                out_count = end_data - out_data;
 
                                /* move down */
-                               CSI_print_1("%c%dd", lnum);
-                               /* move across */
+                     /* The top dot line of the printable area has not 
*/
+                     /* logical coordinate 0 but logical coordinate -63
*/
+                     /* it is not possible to goto_absolute negative */
+                     /* thats why we use a relative up command */
+                     /* for the first 63 lines (12-24-96, Henk Blik) */
+                               if (lnum < 63) /* top line print area is
-63 */
+                               {
+                                       CSI_print_1("%c%dd", lnum); 
+                                           /* cannot goto neg values */
+                                       CSI_print_1("%c%dk", 63); 
+                                           /* move up relative */
+                               }
+                               else
+                                       CSI_print_1("%c%dd", lnum - 63); 
+                               
                                CSI_print_1("%c%d`", num_cols);
 
                                /* transfer raster graphics */
--------------------- end of patch -----------------------------------

Description: Each time a print job is sent to the printer, it issues a "Load A4" message.
Fix: if what you want is to print letter sized paper, change the following line in the source (gdevlbp8.c):
FROM:
CSI, '1', '4', 'p',  /* select page type (A4) */
TO:
CSI, '3', '0', 'p',  /* select page type (letter) */
Recompile and it should print letter sized paper.





blogan@chipotle.org