Canon i250 on Ubuntu 5.04

I installed the binaries from Canon's site. Print jobs sent to the printer vanished without a trace or any activity on the printer's part.

The drivers are available from Canon here both in source and binary (RPM) form. I didn't use the source in the end, although it would compile once I had the binary installed. The source wanted these packages installed:

$ apt-get install libpopt-dev libtiff4-dev libpng2-dev
But then complained bitterly in this manner:
$ make
make  all-recursive
make[1]: Entering directory `/tmp/bjfilter-2.3-0'
Making all in src
make[2]: Entering directory `/tmp/bjfilter-2.3-0/src'
gcc  -O2  -o bjfilter  bjferror.o bjfilter.o bjfimage.o bjfoption.o bjfpos.o bjf
rcaccess.o getipc.o bjflist.o -lcnbpcmcm180 -lcnbpess180 -lm -ldl -ltiff -lpng -
lcnbpcnclapi180 -lcnbpcnclbjcmd180 -lcnbpcnclui180 /usr/lib/libpopt.a
/usr/bin/ld: cannot find -lcnbpcmcm180
collect2: ld returned 1 exit status
make[2]: *** [bjfilter] Error 1
make[2]: Leaving directory `/tmp/bjfilter-2.3-0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/bjfilter-2.3-0'
make: *** [all-recursive-am] Error 2

No amount of searching yielded the missing libcnbpcmcm180.so, so I installed the binaries, which do include it. Then I found this page (in German, but readable. Linux must be a universal language like football). In summary:

  1. $ fakeroot alien bjfiltercups-2.3-0.i386.rpm bjfilteri250-2.3-0.i386.rpm
    
  2. $ sudo dpkg -i bjfilteri250_2.3-1_i386.deb bjfiltercups_2.3-1_i386.deb
    
  3. $ sudo /etc/init.d/cupsys restart
    
  4. $ sudo apt-get install libxml1 libglade0 libpng2 libtiff3g
    
  5. $ sudo ln -s /usr/lib/libcnbpcmcm180.so.6.03.1 /usr/lib/libcnbpcmcm180.so
    $ sudo ln -s /usr/lib/libcnbpess180.so.1.4.0 /usr/lib/libcnbpess180.so
    $ sudo ln -s /usr/lib/libcnbpcnclui180.so.3.0.0 /usr/lib/libcnbpcnclui180.so
    $ sudo ln -s /usr/lib/libcnbpcnclbjcmd180.so.3.0.0 /usr/lib/libcnbpcnclbjcmd180.so
    $ sudo ln -s /usr/lib/libcnbpcnclapi180.so.3.0.0 /usr/lib/libcnbpcnclapi180.so
    $ sudo ldconfig
    

This got my printer test page and OpenOffice working but not lpr nor GIMP. Looking at /var/log/cups/error_log suggested that /usr/lib/cups/filter/pstocanonbj was failing. pstocanonbj didn't like the parameters such as page area, so I created a script that wraps pstocanonbj and doesn't pass on the parameters and modified the PPD to use the script. lpr and GIMP now work!

$ cat /usr/lib/cups/filter/pstocanonbj.hack
#!/bin/sh
/usr/lib/cups/filter/pstocanonbj "$1" "$2" "$3" "$4" ""
exit 0

If your colour cartridge is not present or has run dry and you wish to print colour documents in grey, insert CNGrayscale in between the empty quotes above.

$Revision: 1.2 $, $Date: 2006/03/07 08:37:16 $

Valid HTML 4.01 Transitional