Archive for October, 2015

Canon i-Sensys MF8280Cw on 64bit Debian

Friday, October 9th, 2015

I’ve gotten my hands on a Canon i-Sensys MF8280Cw multifunction colour laser printer, in part because I noticed that Canon has published CUPS drivers for Debian (that is Ubuntu), so it should work.

It also does work, but I had to jump a few hoops.

The driver is available from here (Italian site).

Running Debian testing on amd64, I downloaded the 64bit driver. Unpacking the file gives you two DEB files to install: ‘cndrvcups-common’ and ‘cndrvcups-ufr2-uk’ which installed without a hitch.

Opening the CUPS admin interface, the printers were installed in a second. I used the wifi link, and the printer was autodetected.

Printing a test page from within CUPS went fine. At least CUPS thought it went fine, as there were no error messages or anything. Document printed.

The printer didn’t agree, though. It just emitted a long beeeeep and printed nothing. There’s a work log in the printer, and it stated that each and every print job from CUPS gave an error #822. Printing over wifi from Android or iOS worked fine.

So printer works, wifi link works, and apparently the CUPS driver works, only nothing is printed.

So Google to the rescue, but also not. There was preciously little to find. In the end I ended up with some hints that there might be some 32bit (i386) parts of the driver, that wouldn’t work without the i386 libraries installed.

I ran a command like this on both installed packages:

dpkg -L cndrvcups-ufr2-uk | while read f; do ldd "$f" 2>/dev/null | grep -v 0x | grep -v "not a dynamic executable"; done

but it gave no errors.

I installed the i386 packages

libc6:i386
libc6-i686:i386
libstdc++6:i386

And the still no prints.

I ran the command checking for unresolved linker dependencies again, and lo and behold, it said libxml2 was missing. I installed that from the i386 architecture, restarted CUPS, turned the printer off and on again, and it printed.

So it does work, but not easily.

To summarise I have done this:

dpkg --add-architecture i386
aptitude update
aptitude install libc6:i386  libc6-i686:i386 libstdc++6:i386 libxml2:i386
/etc/init.d/cups stop; /etc/init.d/cups start