Canon CAPT

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

Please note that I have only been able to test this driver with the LBP6310dn, which works perfectly. I have also attempted to use it with the LBP2900 (via SSH on a laptop based in a foreign country) but was unable to get a printout after an otherwise successful installation. Your mileage may vary with the other models.

I will use the LBP6310dn as the example for the commands throughout this article.

Requirements

Ensure you have installed the following packages from the official repositories:

Optionally you may wish to install system-config-printer

For information about installing and configuring CUPS, please refer to CUPS.


Please note that Arch 64 has the following additional requirements:

multilib packages


AUR package

Installation

Install capt-srcAUR from the AUR and restart CUPS

 # systemctl restart org.cups.cupsd.service

Configuration

CUPS

First the printer needs to be registered with CUPS using lpadmin:

# lpadmin -p printer_model -m printer_driver_file -v ccp://localhost:59687 -E

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.

Note: Some models have multiple PPDs, where the last letter indicates the regional model (J = Japan, K = United Kingdom, S = United States)

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

# lpadmin -p LBP6310 -m CNCUPSLBP6310CAPTK.ppd -v ccp://localhost:59687 -E

CAPT

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

USB printers

# ccpdadmin -p printer_model -o usb_port

e.g.

# ccpdadmin -p LBP6310 -o /dev/usb/lp0

network printers

# ccpdadmin -p printer_model -o net:ip_address

e.g.

# ccpdadmin -p LBP6310 -o net:192.168.1.100

systemd

Enable and start the CAPT daemon

# systemctl enable ccpd.service
# systemctl start ccpd.service

Verify the status, you should see two instances of the daemon

# systemctl status ccpd.service
 ccpd.service - Canon CAPT daemon
  Loaded: loaded (/usr/lib/systemd/system/ccpd.service; enabled)
  Active: active (running) since Thu 2014-09-04 18:15:19 BST; 1 day 4h ago
 Process: 15506 ExecStart=/usr/bin/ccpd (code=exited, status=0/SUCCESS)
Main PID: 15507 (ccpd)
  CGroup: /system.slice/ccpd.service
          ├─15507 /usr/bin/ccpd
          ├─15508 /usr/bin/ccpd
          └─15509 captmoncnabg --data-write-fd=3 --data-read-fd=10 --cmd-write-fd=11 --cmd-read-fd=14 --output-fd=-1 --input-fd=-1 --printer-uri=net:192.168.1.100

Status Monitor

The driver includes a status monitor which can be launched with

$ captstatusui -P printer_model

e.g.

$ captstatusui -P LBP6310

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

$ captstatusui -P LBP6310 -e

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

Tip: If you are connecting your printer to a central CUPS print server, you may want to run the status monitor remotely using X11 forwarding and an SSH key without passprase, restricted to running only this command

Troubleshooting

Some people have reported issues on 64 bit systems due to hard coded paths, however I have been unable to test this due to the fact that I have no way of testing this driver on a 64 bit system. See the discussion on the capt-src AUR page.

Related Links/Additional Information

Setting up CAPT printers on Ubuntu