Canon LBP800 install

There are no drivers for this printer in repositories, linux printer database gives this:

OpenPrinting database - Printer: Canon LBP-800

Driver itself is on this page:

Canon LBP-810/LBP-1120 CAPT Linux driver

According to author it works on Kernel 2.6.20 on Ubuntu Feisty and Kernel 2.6.22 on Ubuntu Gutsy

I’m on

Linux 2.6.27.21-0.1-default i686
openSUSE 11.1 (i586)
KDE: 4.2.2 (KDE 4.2.2) “release 114”

I downloaded tar.gz file but have very little idea what to do with it. A few months ago I tried to install it on Ubuntu and got nowhere, there were too many conditions to keep track of - where to extract the files, how to run them and so on. I remember it failed on “make”.

What should I do to install it on OpenSuse? Cups manual is just overwhelming.

Canon are notoriously difficult - try here
CUPS - Explained - openSUSE Forums

If you still need to install the archive, you need to extract it, I usually use the /tmp directory. Often once extracted there will be a text file about howto install.
ie;
./configure
make
make install

From the “readme”:

Install

Type:

make

Then log in as root and type:

#make install

I get:

linux-83vg:/tmp/lbp800-0.1.1 # make
-bash: make: command not found

Is something missing in my environment? Something need to be installed/enabled before using “make”?

“Makefile” is there, btw.

Make sure you have the packages ‘make’ ‘gcc’ installed. You may also need ‘kernel-source’

Installed make, gcc, and kernel-source.

Now it’s:

linux-83vg:/tmp/lbp800-0.1.1 # make
gcc -O2 -s -Wall
errcapt.c bmcapt.c lbp800.c
-l cups -o bin/Release/lbp800
bmcapt.c: In function ‘getLastDifference’:
bmcapt.c:110: warning: array subscript is below array bounds
bmcapt.c: In function ‘CompressBitmap’:
bmcapt.c:110: warning: array subscript is below array bounds
/usr/lib/gcc/i586-suse-linux/4.3/…/…/…/…/i586-suse-linux/bin/ld: cannot find -lcups
collect2: ld returned 1 exit status
make: *** [lbp800] Error 1
linux-83vg:/tmp/lbp800-0.1.1 #

What is -lcaps and how to put it where it supposed to be.

Are function errors equally seriuos?

Function getLastDifference from bmcapt.c

int getLastDifference(TLineBuf LineBuf, BYTE CurLine)
{
int iPos;

BYTE *CurrPtr = LineBuf[CurLine] + BYTES_BY_LINE;
BYTE *PrevPtr = LineBuf[CurLine ? 0 : 1] + BYTES_BY_LINE;

// CERCA A RITROSO L’ ULTIMA DIFFERENZA
iPos = BYTES_BY_LINE;
while( (*(–CurrPtr) == *(–PrevPtr)) && iPos)
iPos–;

return iPos;

} // END getLastDifference()

Function compressBitmap is a bit longer, will paste it here if necessary.

The problem is that to build the package from the source it requires other packages to be present, some of which may or may not be available to you in SUSE. I just looked for lcups and could not locate it.

My suggestion would be to try the localhost option I posted in the howto. Or did you already?

Cups (from localhost) needs a PPD file.

From driver Readme it appears that it would be the second step, that after make-install the driver will be present in Cups drop-down menu.

I installed cups-devel, and also cups-drivers, for a good measure.

linux-83vg:/tmp/lbp800-0.1.1 # make install
gcc -O2 -s -Wall
errcapt.c bmcapt.c lbp800.c
-l cups -o bin/Release/lbp800
bmcapt.c: In function ‘getLastDifference’:
bmcapt.c:110: warning: array subscript is below array bounds
bmcapt.c: In function ‘CompressBitmap’:
bmcapt.c:110: warning: array subscript is below array bounds
gcc -O2 -s -Wall
errcapt.c pport.c timcapt.c llcapt.c pkcapt.c hlcapt.c parcapt.c
-l cups -o bin/Release/parcapt
install -s -m a=rx bin/Release/lbp800 /usr/bin
install -m a=rx lbp800-print /usr/bin
install -m a=r ppd/Canon-LBP-800.ppd /usr/share/ppd/custom
install -m a=rx foo2lbp800-wrapper /usr/bin
install -m a=rx bin/Release/parcapt /usr/lib/cups/backend
linux-83vg:/tmp/lbp800-0.1.1 #

Cups then saw this printer in the dropdown menu and installed it just fine. The problem now that it refuses to print - it makes sound like it’s trying to pull in the page and gives up, incessantly, for about five min before it times out.

Right now the status is:

CanonLBP800 “/usr/lib/cups/filter/foomatic-rip failed”,

and it’s a “print test page”.

>>>

For the reference, it pulls in paper in Windows just fine. Why would it fail on something so basic?

Tried to reinstall it from Cups, the port it is connected to disappeared. Turned it off, switched back on after a few minutes and it swallowed paper without printing anything on it, luckily the port reappeared. Installed in Cups, tried to print - same story, starting the motor and giving up.

Mental note made some time ago:

never buy a Canon Printer

Sounds like you have made progress though

Well, yeah, the printer is installed, for what it’s worth.

How to get the **** machine working? It doesn’t exist in repositories for nothing.

I scavenged it, forgotten in some school office, a couple of years ago. It prints good quality black and white pages reasonably fast and cheap, and no messing with inks, the school buys a new laser cartridge every couple of months.

The real problem is that my computer is the “showcase Linux”, and three Windows computers in this room depend on it for printing.

Step 1 - install it
Step 2 - make it print
Step 3 - make it work for networked Windows

Step 4 - give up and attach to a Windows machine instead, and try to print from Linux

Printer Sharing: Windows Print Server for Suse/openSUSE Linux Clients [Samba and LPD]

I’d rather not give up yet - is there anything I can tweak to get paper sucked into the printer? Is there any Cups log where I can see any details of what went wrong?

You might want to look at /var/log/cups/error_log and /var/log/cups/page_log.

Found the log, a bit higher up the tree - /var/log/cups/error_log

I [13/May/2009:10:19:57 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9258)
I [13/May/2009:10:19:59 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9259)
I [13/May/2009:10:19:59 +0700] [Job 5] Adding start banner page “none”.
I [13/May/2009:10:19:59 +0700] [Job 5] Adding end banner page “none”.
I [13/May/2009:10:19:59 +0700] [Job 5] File of type application/postscript queued by “anonymous”.
I [13/May/2009:10:19:59 +0700] [Job 5] Queued on “CanonLBP800” by “anonymous”.
I [13/May/2009:10:19:59 +0700] [Job 5] Started filter /usr/lib/cups/filter/pstops (PID 9260)
I [13/May/2009:10:19:59 +0700] [Job 5] Started filter /usr/lib/cups/filter/foomatic-rip (PID 9261)
I [13/May/2009:10:19:59 +0700] [Job 5] Started backend /usr/lib/cups/backend/parallel (PID 9262)
I [13/May/2009:10:20:01 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9277)

I [13/May/2009:10:20:11 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9278)
I [13/May/2009:10:20:21 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9279)
I [13/May/2009:10:20:32 +0700] Started “/usr/lib/cups/cgi-bin/printers.cgi” (pid=9280)
I [13/May/2009:10:20:41 +0700] Started “/usr/lib/cups/cgi-bin/jobs.cgi” (pid=9281)
E [13/May/2009:10:20:41 +0700] Cancel-Job: Unauthorized

Then I cancelled it with root password.

As far as I can see it started “filter” first, then “backend”, then, on fail, restarted .cgi script every ten seconds.

So, which one failed - “filter” or “backend”? “Filter” just processes the page into proper format, right? What exactly is “backend”? Is it the one sending the data to the printer?

Is it tweakable anywhere?

Or did it fail on the first “/usr/lib/cups/cgi-bin/printers.cgi”? 'Cos that one looks like cups own file, not my printer driver.

so this printer is connected by a parallel port to the computer?

I just saw this on OpenPrinting

Works with the free driver “lbp800” which is based on reverse-engineering the undocumented proprietary protocol. The driver works only for a parallel port connection, not for USB.

Note that the proprietary parallel port data transfer protocol is non-standard and not very reliable. So use a cable as short as possible to use this printer. The parallel port must be set to bi-directional in the BIOS (should be already set on modern PCs).

If there is a PCL emulation, it is done by the Windows driver.

I thought perhaps also to mention; (caf was very uncomplimentary about Canon);

the LBP800 seems a much older printer; so there are no linux drivers;

the newer LBP series; (colour and monochrome) all install well on linux;

I installed an LBP3100 recently;

Canon LBP printer install on 32bit Suse - openSUSE Forums

and it installed first go; and runs reliably and well;

(I posted some details on the hardware forum) (see below)

Canon also are now releasing drivers for all their new inkjet printers: they make available both rpm and deb versions;

they make scanning drivers available for mf units

so I feel we should praise them for doing this; and thank them;

if one downloads the guides that they produce, they are very well written and documented;

one downloads a tar.gaz file; unpacks with file manager;

and hey presto: a good, detailed guide, that one can copy and paste the instructions into a terminal;

HCL/Printers - openSUSE

(I receive no remuneration from Canon !!! for commending their efforts to make very good drivers available free of charge to the linux community, and providing exhaustive documentation; documenting the individual foibles of many linux distros, that would make many despair; but fixes are offered for each)

It’s on parallel port, not USB. It works just fine when the machine is booted in Windows, so I don’t think the cable is too long (80cm, I think), or “bi-directional” is not not set in Bios.

… thanks;

hi;

stumbled across this French guy who claims to have installed a LBP 810 successfully on Ubuntu; so running .deb format;

Celtiore’s Café

not sure if this is of help:

.rpm are converted to .deb by the command “alien”: someone else may be able to help to tell you if .deb can be converted to .rpm

one could copy and paste his commands