canon / mf8350 / driver hell

canon / mf8350 / driver hell

  • Written by Walter Doekes

  • Published on: 2012-12-12

Building Canon MF8350Cdn (and other) CUPS drivers for Linux Debian and/or Ubuntu on amd64 is still a pain in the behind.

Problems encountered during the installation, include:

  • Regular make installed stuff in different places but forgot many parts.
    Solution: use dpkg-buildpackage
  • The libtool copied wasn’t able to build for shared libs.
    Solution: remove --enable-shared/--disable-shared command line options.
  • amd64 had to be added to the architecture targets.
  • A shell script had to lose a bashism.

The right steps

  • Download and extract:
    Linux_UFRII_PrinterDriver_V250_us_EN.tar.gz (download)
  • Change dir into:
    Linux_UFRII_PrinterDriver_V250_us_EN/Sources
  • Extract the two tar balls found there:
    cndrvcups-common-2.50-1.tar.gz
    cndrvcups-lb-2.50-1.tar.gz
  • Patch both with this patch:
    canon_mf8350-wjd.patch (view)
  • Go into both directories and run:
    dpkg-buildpackage
    (* See Update below!)
  • There should now be 4 deb packages in the Sources dir:
    cndrvcups-common_2.50-1_amd64.deb (download)
    cndrvcups-lipslx_2.50-1_amd64.deb (download)
    cndrvcups-ufr2-uk_2.50-1_amd64.deb (download)
    cndrvcups-ufr2-us_2.50-1_amd64.deb (download)
  • Install all, except one of the UK or US versions.
  • Manually run ldconfig

Finally, when installing the printer, you’ll have to decide which driver you want. I chose the “Canon MF8300C Series UFRII LT ver.2.5 (color, 2-sided printing)” driver because it is the closest match to our “MF8350Cdn”.

This took way too much time — like some things do. Useful debug information was obtained using the LogLevel debug option in /etc/cups/cupsd.conf.

Observe that these packages require the ia32-libs (* See Update below!) to be installed.
The reason for that is that not everything in Sources is in source form :-(

Update 2013-03-31

Glen Whitney of the National Museum of Mathematics points out that he had to install the cndrvcups-common produced by [this] procedure before [he] could compile the cndrvcups-lb stuff.” Thanks for the feedback!

Update 2013-08-19

Installing all of the ia32-libs can be a bit much. In fact, you only need these: libc6:i386 libp11-kit0 libxml2:i386 zlib1g:i386

Update 2013-09-18

Is buftool.h missing? Look more closely at Update 2013-03-31.


Back to overview Newer post: etckeeper Older post: easy / certificate generation / testing