Canon CAPT Printer

There are some open source community efforts here https://github.com/agalakhov/captdriver/ and here https://github.com/ra1nst0rm3d/captdriver.

This page explains setup and configuration of Canon CAPT Printers.

Introduction
The Canon i-Sensys series of laser printers are supported under CUPS by Canon's proprietary Canon Advanced Printing Technology (CAPT) backend.

Supported models are: LBP9100C, LBP7210Cdn, LBP7200C series, LBP7200Cdn (network mode), LBP7018C, LBP7010C, LBP6310dn, LBP6300, LBP6300n, LBP6200, LBP6020, LBP6018, LBP6000, LBP5300, LBP5100, LBP5050 series, LBP5000, LBP3500, LBP3310, LBP3300, LBP3250, LBP3210, LBP3200, LBP3150, LBP3108, LBP3100, LBP3050, LBP3018, LBP3010, LBP3000, LBP2900, LBP-1210, LBP-1120, LBP-810

CUPS
Make sure is installed:

The cups service must be started before the driver(s) can be installed.

OpenRC
If OpenRC is used, then the following command can be issued to start the cups service.

To have it started automatically at boot time, use :

systemd
To start CUPS immediately, issue the following command:

To start it automatically at boot:

Installing the drivers
Drivers are located on Gentoo's Bugzilla

Ebuilds for latest version 2.60 are in github repo: https://github.com/homoludens/canoncapt-euilds

For using it you would need to create custom repository explained on page Custom ebuild repository.

Follow instructions in Creating a custom repository section.

Download archive net-print-cndrvcups.tar.gz and unpack it in created overlay. It contains two ebuilds: and.

If your custom repository location is you should have directories:

In that case you will need to issue this commands to be able to emerge ebuilds:

After that you will need to emerge them (net-print/cndrvcups-capt depends on net-print/cndrvcups-common):

If you are using USB printer you will need usblp kernel module which is by default blacklisted by net-print/cups, easiest way around this is recompiling cups with USE="-usb". usbplp module is creating /dev/usb/lp0 device used for communicating with printer.

Currently only use flag is USE="-cngplp", disabled by default and is creating some GUI that is not really interesting and needed. And creates multiple issues with compiling this drivers.

CUPS
There are two options for setting device-uri with lpadmin command using ccp://localhost:59687 and ccp:/var/ccpd/fifo0.

Make sure cupsd is started:

if it is not, start it first:

Option 1: Using ccp://localhost:59687
First the printer needs to be registered with CUPS using lpadmin:

The printer driver file can be found in /usr/share/cups/model. For the printer model, use the ShortNickName found inside the PPD, or take it directly from the file name, for example CNCUPSLBP6310CAPTK.ppd

Alternatively you could check the table provided on the Ubuntu help page, which matches each supported printer with its corresponding PPD.

For example, for the Canon LBP6310dn (UK model) you would enter

Option 2: Using ccp:/var/ccpd/fifo0
If previous option is not working for you you can try:

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

When missing, it can be added manually:

CAPT
Next you'll need to register the printer with the CAPT driver itself via ccpdadmin:

USB printers
e.g.

network printers
e.g.

Starting service
After this you will need to start ccpd service:

And add it do default init.

Status monitor
The driver includes a status monitor GUI which can be launched with

e.g.

If you only want the status monitor to pop up when a problem occurs, simply append the -e switch:

You may want to add this to your startup folder/script

100% CPU
This is known to happen. ccpd service must be started after cupsd and udevd.

module usblp
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:

usblp has been deprecated by CUPS and might not be automatically loaded when you connect your USB printer.

Device URI: ccp://localhost:59687 VS ccp:/var/ccpd/fifo0
On some systems setting printer with ccp://localhost:59687 does not work, in that case try Option 2 ccp:/var/ccpd/fifo0.

See Section for configuring CUPS.

CUPS
Use cups web interface to detect problem http://localhost:631 it can help with different issues. Since Canon's this drivers are notorious for not providing any debug information.

64-bit systems
Proprietary part of this module is complied for 32-bit systems. This can cause problems mostly related to libc6 and libpopt0 libraries on which it depends. You can check that with:

Additionally linked ebuilds are only tested for x86.

(I hope someone with amd64 will be able to provide support or more info, until then take a look at https://forums.gentoo.org/viewtopic-t-1017844-highlight-capt.html - it has useful information about amd64)

Until someone helps with amd64, his should be helpful and should be done before emerging driver:

Last command also pulls with abi_x86_32 use flag.

Helpful Gentoo forum topics
https://forums.gentoo.org/viewtopic-t-1017844-highlight-capt.html -- this one is useful for amd64

https://forums.gentoo.org/viewtopic-t-913082-highlight-capt.html

Bugs
Expect them. And please report bugs/problems you have with ebuilds to

Alternatives
While searching for solutions of your problems with some of this printers you will get to this pages, eventually:

. To be tested/verified by someone owning such printer

http://sourceforge.net/projects/foo2capt/

http://www.boichat.ch/nicolas/capt/

Those were really nice open source drivers, that were actually working at the time, but only had one release. It would be nice if someone would take over those projects and keep them alive. Until then, we will have to use official ones.

External resources
Setting up CAPT printers on Ubuntu Wiki

Canon_CAPT on Arch Linux wiki

Arch Linux AUR page with useful comments