The basic steps
Install additional packages (dependencies) if you know them already at this point
Download the driver
You will get one of the following files : *.deb or *.tar or *.deb.tar.gz
Extract the tar file
# tar -xzvf
eventually create a /driver_directory
If you get a tar file with rpm drivers inside : Convert rpm to deb using “alien”
Check for missing dependencies
if there are missing dependencies :
– install them
or
– change the control file, then install the modified deb file(s)
or
– install a pseudo package (if available)
Install the deb file(s)
# dpkg -i
Create symlinks if necessary
Add quality and dpi options if you like
Restart CUPS, then turn the printer on
Add the printer to CUPS
Download the driver – details
You can get your printer driver from various sources like :
OPEN Printing
ZEDOnet
foomatic database
a generic driver showed up in CUPS
the manufacturer of the printer
You can also use Google cloud print for printing or CUPS cloud print
Think about using the multiarch Debian in order to install a 32 bit printer driver on a 64 bit system !
Check for missing dependencies – details
Case 1 – the missing package is available and can be installed
The control file (example for Canon Pixma iP3600)
unpack the deb file : # ar -x cnijfilter-common_3.00-1_i386.deb
unpack the control file : # tar -xzf control.tar.gz
look for dependencies : # nano control
result : libc6 (>= 2.3.4-1), libcupsys2 (>= 1.2.1), libpopt0 (>= 1.7)
Check the available dependencies on your system
$ cd /usr/lib
OR
$ cd /lib
$ ls -l libc* libcups* libpop*
Install the missing dependencies – if necessary
# apt-get install libc6 libcupsys2 libpopt0
Case 2 – the missing package is outdated and a new one is used instead
You can replace the “ar” and “tar” commands by the “dpkg-deb” command.
Unpack the deb file (example for Canon Pixma iP3600)
# ar -x cnijfilter-common_3.00-1_i386.deb
Unpack the control.tar.gz file
# tar -xzf control.tar.gz
Edit the control file
replace the old package “libcupsys2” by the new package “libcups2”
Repack what you have unpacked before
# tar -czf control.tar.gz control md5sums
# ar -r cnijfilter-common_3.00-1_i386.deb debian-binary control.tar.gz data.tar.gz
Repeat the 4 steps above for all deb files !
Create symlinks – details
Look for the filter (driver) – example for Canon Pixma iP1500
$ cd /usr/local/bin
$ ls -l bjfilter*
result : $ bjfilterpixmaip1500
OR for newer ones
$ cd /usr/bin
$ ls -l cif*
Check for the necessary libraries
$ cd /usr/local/bin
$ ldd bjfilterpixmaip1500
If the result is : $ libpng.so.2 => not found
Check for available libraries on your system
$ cd /usr/lib
$ ls -l libpng*
result : $ libpng12.so.0.15.0
For newer ones : $ cd /lib
Create the symlink, then update the link cache
$ ln -s libpng12.so.0.15.0 libpng.so.2
$ ldconfig
Check the result
$ cd /usr/local/bin
$ ldd bjfilterpixmaip1500
result : $ libpng.so.2 => /usr/lib/libpng.so.2 (0xb7ee5000)
libpng.so.2 is now linked
Installation example of a Canon Pixma IP 3600 on Debian 8
Download the driver from Canon
http://www.canon-europe.com/printers/home-and-photo-printers/
You will get : ip3600_debian_printer.tar
Move the file to /your home/ip3600 then extract it
Create the /ip3600
Put the tar file in /ip3600
# tar -xvvf /your home/iP3600/ip3600_debian_printer.tar
Resolve missing dependencies
– Unpack the deb file
# ar -x cnijfilter-common_3.00-1_i386.deb
– Unpack the control.tar.gz file
# tar -xzf control.tar.gz
– Edit the control file
replace the old package “libcupsys2” by the new package “libcups2”
– Repack what you have unpacked before
# tar -czf control.tar.gz control md5sums
# ar -r cnijfilter-common_3.00-1_i386.deb debian-binary control.tar.gz data.tar.gz
– Do the above for all necessary deb files !
Install the (modified) deb files
# dpkg -i cnijfilter-common_3.00-1_i386.deb cnijfilter-ip3600series_3.00-1_i386.deb
Create symlinks
not necessary here
Add quality and dpi options (if you like)
– During the driver installation process
edit the *.pdd file in /usr/share/cups/model/
# cd /usr/share/cups/model
# cp canonip3600.ppd canonip3600.ppd.bak
(create a backup for “security”)
# nano canonip3600.ppd
– Or after the driver installation
edit the *.pdd file in /etc/cups/ppd/
# cd /etc/cups/ppd
# nano iP3600-series.ppd
– Changes to make
– Add the following lines:
*OpenUI *CNQuality/Quality: PickOne
*DefaultCNQuality: 3
*CNQuality 2/High: “2”
*CNQuality 3/Normal: “3”
*CNQuality 4/Standard: “4”
*CNQuality 5/Economy: “5”
*CloseUI: *CNQuality
– Then replace this:
*OpenUI *Resolution/Output Resolution: PickOne
*DefaultResolution: 600 dpi
*Resolution 600/600 dpi: “<</HWResolution[600 600]>>setpagedevice”
*CloseUI: *Resolution
– By the following:
*OpenUI *Resolution/Output Resolution: PickOne
*DefaultResolution: 600
*Resolution 300/300 dpi: “<</HWResolution[300 300]>>setpagedevice”
*Resolution 600/600 dpi: “<</HWResolution[600 600]>>setpagedevice”
*Resolution 1200/1200 dpi: “<</HWResolution[1200 1200]>>setpagedevice”
*CloseUI: *Resolution
Restart CUPS, then turn the printer on
# /etc/init.d/cups restart
Add the printer to CUPS
go to the CUPS Web interface : http://localhost:631/
CUPS admin section :
– Printers : add printer
– User = root
– Password = your root password
– Add Printer / Local Printers : select yours : Canon iP3600 series (Canon iP3600 series) / click : continue
– next page / click : continue
– Add Printer / Model : select Canon iP3600 series Ver.3.00 (en) / click : Add Printer
– Set Default Options : quality = economy
output resolution = 300 dpi
paper source = cassette
click : Set Default Options
– done
Happy printing !