Busy times and Printing to a Canon iR2230

Clearly, I haven’t posted anything for a while. I’ve thought of some interesting things to post, but couldn’t justify the time it would take. Maybe after Christmas.

By the way, Merry Christmas to all who happen to read this. May the joy of the Christ-child warm your hearts with the love that God demonstrated by sending His Son into our world and redeem sinners through His own death. Remember, the same Jesus has now risen from His grave, and reigns forever over all things for the good of His Church, which He is bringing out of this fallen world to Himself.

Most of what I have learned about computers has been learned when I can’t really afford the time. So I spent the whole morning, and part of the afternoon today getting a new computer set up to print to our church printer, the aforementioned Canon. It’s an old black and white business-level photocopier, and has been very reliable for us. We’re currently at 162,461 letter-sized pages on that machine.

Canon’s print drivers for Linux have improved in the last few years, but their support in the United States is very poor. I’ve been using the Japanese driver, which is named “LIPSLX” for some reason. “LX” at the end is a Roman numeral, I think. Anyway, this new computer is a 64-bit machine, the first in this office. So the OS (Ubuntu) is also 64-bit. And Canon doesn’t provide binary (pre-compiled) driver packages for Debian-based 64-bit Linux. I tried lots of things and learned a lot about the print system (which comes from Apple and is called CUPS). It seemed I was close, but there was no data in the print jobs. Zero copies of zero sheets every time a job went through.

More digging on Google found a thread on a Gentoo Linux forum with an odd post that actually pertains closely to my problem. So thanks to n00b, I was able to create my own binary package files for 64-bit Debian. And they work.

I’ll quote n00b’s series of “less than intuitive” steps below, for future reference…

  • Run the following commands which are necessary to support the binary blobs included in the driver files:
    
         ln -s lib /usr/lib64
         apt-get install ia32-libs
     
  • Visit the Canon-Australia support site and download the most recent drivers, currently Linux_UFRII_PrinterDriver_V250_uk_EN.tar.gz.
  • Unpack the file.
  • In the Sources directory, unpack the cndrvcups-common-2.50-1.tar.gz and cndrvcups-lb-2.50-1.tar.gz files.
  • Edit the debian/control files and change all instances of “Architecture: i386” to “Architecture: i386 amd64”.
  • Edit the debian/rules files and uncomment the “dh_makeshlibs” lines.
  • Edit the cndrvcups-lb-2.50/allgen.sh file and delete all instances of “–enable-static”, “–disable-static”, “–enable-shared”, and “–disable-shared” options.
  • Run the following commands from the Sources directory to build and install the driver software:
    
         cd cndrvcups-common-2.50cndrv
         debuild binary
         cd ..
         dpkg -i cndrvcups-common_2.50-1_amd64.deb
         cd cndrvcups-lb-2.50
         debuild binary
         cd ..
         dpkg -i cndrvcups-lipslx_2.50-1_amd64.deb cndrvcups-ufr2-uk_2.50-1_amd64.deb cups-ufr2-us_2.50-1_amd64.deb
     

Buy the whey, I’m using Ubuntu 12.10 64-bit, and I ended up using the “LIPSLX” package produced by the debuild process. Other printers might work best with a different one.

Leave a Reply