Introduction


Canon laser printers are supplied with Canon Advanced Printing Technology (CAPT), a proprietary closed-source printer driver software-stack developed by Canon. For an alternative open source driver, see foo2capt.

These instructions will help get Canon's CAPT drivers installed for your LBPxxxx and automatically starting with monitor on:

  1. Ubuntu 13.10 - Salamander
  2. Ubuntu 13.04 - Ringtail
  3. Ubuntu 12.10 - Quetzal
  4. Ubuntu 12.04 - Pangolin
  5. Ubuntu 11.10 - Oneiric
  6. Ubuntu 10.04 - Lucid

For other canon printers see: HardwareSupportComponentsPrinters/CanonPrinters and its sub-articles but hopefully yours is in the list below.


Supported Printers Canon CAPT Driver v2.6


According to the official Canon driver documentation:

See extra notes after table where there are *'s.

Please update if your get an unlisted printer/ubuntu version working by going to the top of the page and finding the edit link at the very top of the screen (requires login)

Printer Name

PPD File Name

Verified, Ubuntu Releases

LBP9100C

CNCUPSLBP9100CCAPTK.ppd

LBP7210Cdn

CNCUPSLBP7210CCAPTK.ppd

LBP7200C series

CNCUPSLBP7200CCAPTK.ppd

10.10/11.04

LBP7200Cdn (network mode)

CNCUPSLBP7200CCAPTK.ppd

10.10/11.04

LBP7018C/LBP7010C

CNCUPSLBP7018CCAPTK.ppd

LBP6310dn

CNCUPSLBP6310CAPTK.ppd

LBP6300

CNCUPSLBP6300CAPTK.ppd

10.10

LBP6300n

CNCUPSLBP6300nCAPTK.ppd

LBP6200

CNCUPSLBP6200CAPTK.ppd

LBP6020

CNCUPSLBP6020CAPTK.ppd

LBP7210Cdn

CNCUPSLBP7210CCAPTK.ppd

LBP7200C series

CNCUPSLBP7200CCAPTK.ppd

10.10/11.04

LBP7200Cdn (network mode)

CNCUPSLBP7200CCAPTK.ppd

10.10/11.04

LBP7018C/LBP7010C

CNCUPSLBP7018CCAPTK.ppd

LBP6310dn

CNCUPSLBP6310CAPTK.ppd

LBP6300

CNCUPSLBP6300CAPTK.ppd

10.10

LBP6300n

CNCUPSLBP6300nCAPTK.ppd

LBP6200

CNCUPSLBP6200CAPTK.ppd

LBP6020

CNCUPSLBP6020CAPTK.ppd

LBP6000 LBP6018

CNCUPSLBP6018CAPTK.ppd

13.10(64bit)/12.10/12.04(32bit)

LBP5300

CNCUPSLBP5300CAPTK.ppd

LBP5100

CNCUPSLBP5100CAPTK.ppd

10.10

LBP5050 series

CNCUPSLBP5050CAPTK.ppd

9.10/9.04

LBP5000

CNCUPSLBP5000CAPTK.ppd

LBP3500

CNCUPSLBP3500CAPTK.ppd

LBP3310

CNCUPSLBP3310CAPTK.ppd

LBP3300

CNCUPSLBP3300CAPTK.ppd

12.04

LBP3250

CNCUPSLBP3250CAPTK.ppd

LBP3210

CNCUPSLBP3210CAPTK.ppd

LBP3200

CNCUPSLBP3200CAPTK.ppd

10.04

LBP3150 / LBP3108 / LBP3100

CNCUPSLBP3150CAPTK.ppd

12.04

LBP3100 / LBP3108 / LBP3150

CNCUPSLBP3150CAPTK.ppd

10.10

LBP3010 / LBP3018 / LBP3050

CNCUPSLBP3050CAPTK.ppd

13.10/12.04/11.10/11.04/10.10/10.04/9.10/9.04

LBP3000

CNCUPSLBP3000CAPTK.ppd

11.04

LBP2900

CNCUPSLBP2900CAPTK.ppd

11.04/10.10/10.04/9.10/9.04

LBP-1210

CNCUPSLBP1210CAPTK.ppd

10.10/10.04/9.10/9.04

LBP-1120

CNCUPSLBP1120CAPTK.ppd

13.10/13.04/12.10/12.04/10.10/9.10.9.04

LBP-810**

CNCUPSLBP1120CAPTK.ppd

11.04/10.10/10.04/9.10/9.04

** LBP-810 is not officially supported in version 2.3 of the Canon Driver


Ubuntu 13.10 Install


For the 2.6 driver download:

Find the debian packages in the v2.60 drivers deb folder 32/64 bit:

  • cndrvcups-capt.deb

    cndrvcups-common.deb

Then follow the canon guide v2.60 carefully. My install commands were (You must modify these for your specific printer):

sudo /etc/init.d/cups restart
sudo lpadmin -p LBP3010 -m CNCUPSLBP3050CAPTK.ppd -v ccp://localhost:59687 -E
sudo ccpdadmin -p LBP3010 -o /dev/usb/lp0
sudo update-rc.d ccpd defaults

Afterwards in system settings->printers you will see two printers set the LBP3010 or whatever you decided to call your printer to the default. The other printer right click and untick shared and enabled.


Status Monitor & Cleaning


Manually Running Monitor

The Canon status monitor can alert you to any issues with your printer. This can be run directly on the terminal by issuing this command:

captstatusui -P <Your printer name as specified in cups>
My printers example: captstatusui -P LBP3010

You will be presented with the User Interface and it should say ready to print. If not make sure the printer is switched on.

Running Monitor on Startup

If we want the monitor to run each time the computer is switched on we can add it to the as a startup application by searching for and running "Startup Applciations" from the hub.

Click the Add button.

Name:Canon Printing Status Monitor

Command: captstatusui -e -P <Your printer name as specified in cups>

Description: Hidden until error occurs

The -e option causes the monitor to stay hidden until an error occurs like when you run out of paper.

Cleaning

If for any reason you need to clean the printer you can access this tool from the status monitor. It can be found in the app menu system under Option->Utility->Cleaning... This feature would be useful if you are getting streaks/lines on your print outs.


Printing a Test Page


At this point you can test your printer by going to: System Settings->Printers

You should see a icon for the printer you have just setup. There maybe another printer in there with a similar name just ignore this one for the time being. Right click on the printer and choose properties. Click the buttons "Print Test Page". Hopefully your page should print.


Restart and Verify


Now it is time to restart the system. If all goes well the system should restart and at the login page be able to print from another computer. This guide will not cover setting up cups for network printing.

After you login open a terminal and run:

sudo service ccpd status
/usr/sbin/ccpd: 1245 1141

This shows the process Id's for the two ccpd processes that should now be running. If you only see one then you still have a problem with the way the ccpd daemon is starting. Please see further down the page for hints.

At this point you should again be able to print a test page all being well. This means you machine is now configured to print correctly.

If you run into problems try turning your printer off, restart your computer and only turn your printer on, after you have logged in.


Information past this point has been kept for reference only.



Ubuntu 12.04 Install

For a new install please see the html guide in the 2.4 driver download:

For newer 2.6 driver download:

Find the debian packages in the v2.40 drivers deb folder:

  • cndrvcups-capt.deb

    cndrvcups-common.deb

Install from the v2.40 driver as you would any other package with Ubuntu Software Center. Then follow the canon guide v2.40 carefuully making sure that you change this line accordingly:

sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E

The manual says ccp://localhost:59687 but Ubuntu by default is using 59787. This will give you a headache if you do not change it. (The file /etc/ccpd.conf defines UI_Port 59787 and PDATA_Port 59687. So, both these ports need to be open in the firewall setting.)

* Note: Ubuntu 12.04 has again blacklisted the usblp module which creates the /dev/usb/lp0 device link. To solve this problem do this

sudo nano /etc/modprobe.d/blacklist-cups-usblp.conf

Then comment the file to look like this, canons driver does not talk to the printer through cups:

# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
# blacklist usblp

* Note: The later sections of this article under 'Adding a printer' and 'Troubleshooting' suggest using 'ccp:/var/ccpd/fifo0'. That works, but you have to ensure /var/ccp/fifo0 exists with correct ownership/mode. Using 'ccp://localhost:59787' is simpler as it requires no extra steps involving fifo file.

Ubuntu 11.10 Install

For further details please see the guide in the driver tar. If this is your first time installing this driver it is essential reading do not just copy and paste as it will not work. Further issues can be found in the README.

Please note that sometimes when you print for the first time after system start you might have to power cycle the printer to get it printing.

cndrvcups-capt cndrvcups-common
  • Convert from Redhat to Debian package format:

$ sudo alien *.rpm
  • Install the new debian packages:

$ sudo dpkg -i *.deb
  • Restart CUPS:

$ sudo service cups restart
  • Add printer into CUPS:

$ sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:59787 -E
  • Link the Printer to the USB Printer Port:

$ sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0
  • Unblacklist the usblp module as Canon still use it:

$ sudo nano /etc/modprobe.d/blacklist-cups-usblp.conf
  • - Add a # in front of the line with "blacklist usblp" - Note this might cause problems where you are running multiple printers from the same system where CUPS manages those printers directly.
  • Start the printer driver service:

$ sudo service ccpd start
  • Try printing a test page.

Package Repository ( before 11.10)

The Canon CAPT printer driver is split into two packages: cndrvcups-capt and cndrvcups-common available from the Canon printer driver PPA. As of May 2011, this PPA contains 2.20 version of the Canon drivers, build for i386 and amd64 on Lucid, Maverick and Natty. This is the easiest way to install the drivers.

To add the PPA to your system and install the packages do:

sudo add-apt-repository ppa:michael-gruz/canon
sudo apt-get update
sudo apt-get install cndrvcups-capt cndrvcups-common

Please note after installing the driver you must still add and configure your printer (read below).


Install without using the package repository

Using the pre-built packages from the package repository is the easiest way to install the Canon drivers. If for some reason you prefer to use the older install method that does not utilise a package repository, read the following instructions.

Resources

The 2.3 driver is the latest release: Canon Linux CAPT 2.3 Driver Download

The 1.9 driver download page can be found here. Alternatively you can directly download the Debian package (recommended for beginners) or the Source Code.

Automated install using a BASH script

A script has been developed to automate the install of this driver on both kinds of architectures (amd64, i386). Unfortunately Canon doesn't supply 64bit DEB packages and compiling the driver from source is a bit tricky. Therefore using this script is the best approach for users of 64bit Ubuntu, while for the 32bit users it's just an automation of the manual install mode.

The 64-bit versions of the DEB packages have been built on an Ubuntu 9.10 x86_64 architecture, while the 32-bit ones used by the script are the ones supplied by Canon. The script and the drivers have been tested on Ubuntu 9.04 i386 and on Ubuntu 9.10 amd64 using a Canon LBP2900 printer.

The archive containing the script and the packages needed for the install can be found here. Please read the README file contained in the archive for more details or use the -h or --help command line options when invoking the script.

For questions, details, bugs or enhancements, please visit this page.


Adding a printer

Configuring CUPS

System->Administration->Printing add printer. Choose "Add printer". Do not choose USB Printer found by Ubuntu here. Select "CAPT Printer". You should see "ccp" in URI. Change it so URI should become "ccp:/var/ccpd/fifo0". Click "next", find your model and add your printer. Choose English variant if you see Japanese and English variants. Also If you do not have you exact model in list, choose nearest. For example, for LBP 810, I choose "LBP 1120".

To look for available models you may use command:

$ find /usr/share/cups/model -name '*LBP*K.ppd'

Close configuration dialog, open again and rename your printer to, say, "LBP810". Remember name you chose, as later commands will refer to it.

Instead of GUI actions, you may try this:

sudo /usr/sbin/lpadmin -p LBP810 -m CNCUPSLBP1120CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E

Again, choose another .ppd name, if you have another printer...

Configuring Canon services

$ sudo /etc/init.d/ccpd restart
$ sudo /etc/init.d/ccpd status
Canon Printer Daemon for CUPS: ccpd: 8956 8954

If you see only one number at the end of line, edit /etc/ccpd.conf and add this:

<Printer  LBP810>
DevicePath  /dev/usb/lp0
</Printer>

Instead you may try this:

$ sudo /usr/sbin/ccpdadmin -p LBP810 -o /dev/usb/lp0

Next, check for record in /etc/ccpd.conf

For a network printer such as the LBP7200Cdn, the "DevicePath" should say "net:<ipaddress>", so for example if your network printer is on IP address 192.169.1.69, then the entry in /etc/ccpd.conf should say

<Printer Canon-LBP7200C-CAPT>
DevicePath net:192.168.1.69
</Printer>

Now, restart canon services:

$ sudo /etc/init.d/ccpd restart
$ sudo /etc/init.d/ccpd status
Canon Printer Daemon for CUPS: ccpd: 8956 8954

You should see two numbers at the end. If you do, you are lucky Smile :) If you only see one number here, then try restarting the computer, or possibly you could try replacing the ccpd start up script with the one on this page, and then restart the computer.

Starting/stopping on USB add/Remove

Fill /etc/udev/rules.d/85-canon-capt.rules with your preferred editor

$ gksudo gedit /etc/udev/rules.d/85-canon-capt.rules

with this:

KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idVendor}=="04a9", RUN+="/bin/bash /etc/init.d/ccpd start"
KERNEL=="lp*", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/bash /etc/init.d/ccpd stop"

Next, reload UDEV config:

$ sudo udevadm control --reload-rules

Now, using

$ sudo /etc/init.d/ccpd status

check that printer started/stopped on adding/removing it from USB.

diagnostics:

mmarkk@imac:~$ sudo ccpdadmin

Usage:
  ccpdadmin [-p Printer-name -o Printer-dev-path]
  ccpdadmin [-x Remove-Printer-name]


 CUPS_ConfigPath = /etc/cups/
 LOG Path        = None
 UI Port         = 59787

 Entry Num  : Spooler   : Backend       : FIFO path             : Device Path   : Status
 ----------------------------------------------------------------------------
     [0]    : LBP810    : ccp           : /var/ccpd/fifo0       : /dev/usb/lp0  :

Troubleshooting

If Status monitor reports error "Check the DevicePath of /etc/ccpd.conf", then you probably don't have usblp kernel module. Run the following command:

lsmod | grep usblp

If it outputs nothing, load the module and restart ccpd:

sudo modprobe usblp
ls -l /dev/usb/lp0
sudo /etc/init.d/ccpd restart

Note: As of Ubuntu 11.10 (Oneiric Ocelot), usblp has been deprecated and will not be automatically loaded when you connect your USB printer (see bug #842823]).


If the status monitor works but printing does not, make sure that /var/ccpd/fifo0 actually exists:

ls -l /var/ccpd

When missing, it can be added manually:

sudo mkdir /var/ccpd
sudo mkfifo /var/ccpd/fifo0
sudo chown -R lp:lp /var/ccpd

(Issue might be related to AppArmor, also see this bug.


CategoryHardware

CanonCaptDrv190 (last edited 2014-01-29 17:10:32 by ivanmesic)