Showing posts with label Canon Capt LBP2900B v2.71. Show all posts
Showing posts with label Canon Capt LBP2900B v2.71. Show all posts

Wednesday, February 19, 2020

Installing Canon LBP2900b in Debian

I had already written an article on how to install the Canon LBP2900B in Debian when SysV init was  the norm but then systemd has taken over the Linux world by storm and only a handful of distro are hanging on to SysV or  had moved on to Runit. 

The current version of the canon capt driver is 2.71 that can be downloaded from the canon website.
before installing the canon driver we have to enable the support for 32-bit if you are the using 64-bit
Debian. The 64-bit driver needs the 32-bit driver installed for proper working otherwise it will only show printer is processing but it won't print.

Run the following commands.

[a] Enable 32-bit.

sudo dpkg --add-architecture i386 
sudo apt update

[b] Install CUPS

If you hadn't installed  cups already install cups and also along with other printer drivers.

sudo apt-get --no-install-recommends --no-install-suggests install cups  system-config-printer system-config-printer-udev printer-driver-gutenprint  foomatic-db-compressed-ppds 

If cups isn't running run the command 
sudo systemctl enable cups.service
[c]  Install the  Drivers

When installing  the  32 bit driver dpkg at first  will  not  install as there will be missing 32-bit libraries 

sudo dpkg -i cndvcups-common_3.21-1_i386.deb 
sudo apt install -f 
sudo dpkg -i cndvcups-capt_2.71-1_i386.deb
sudo dpkg -i cndvcups-common_3.21-1_amd64.deb
sudo dpkg -i cndvcups-capt_2.71-1_amd64.deb

[d] Edit the /etc/init.d/ccpd 

After installing the drivers edit the edit the /etc/init.d/ccpd file with the following info below the 
#!/bin/sh

### BEGIN INIT INFO
# Provides:          ccpd
# Required-Start:    $local_fs $remote_fs $syslog $network $named
# Should-Start:      $ALL
# Required-Stop:     $syslog $remote_fs
# Default-Start:     3 5
# Default-Stop:      0 1 2 6
# Description:       Start Canon Printer Daemon for CUPS
### END INIT INFO

run the following command
sudo systemctl cups restart
sudo /etc/init.d/ccpd start

IMPORTANT: systemd maps the `/etc/init.d/ccpd` script that comes with the printer driver package to the name `cppd 

[e] Create a ccpd2 unit file 

 create a file called ccpd2.service in /etc/systemd/system  with the following content

[Unit]
Description=Printer daemon for Canon printers
Requires=cups.service
After=cups.service

[Service]
ExecStart=/usr/sbin/ccpd
Type=forking

[Install]
# To run the daemon always when the system is up
#WantedBy=multi-user.target
# To run the daemon when a printer is attached
WantedBy=printer.target

Now run 
sudo systemctl enable ccpd2.service 
sudo systemctl restart cups.service

[f] Register the printer in the system

sudo lpadmin -p LBP2900  -m CNCUPSLBP2900CAPTK.ppd  -v ccp:localhost:59687  -E 

[g] Printer port definition 

sudo ls  /dev/usb/

[h] Registering the printer in ccpd service

sudo ccpdadmin   -p LBP2900 -o /dev/usb/lp0 
sudo ccpdadmin

[i]  Restart Cups and ccpd service

sudo systemctl restart cups.service
sudo systemctl restart ccpd2.service

[j] setting our printer as default 

sudo lpadmin -d LBP2900

Resart your computer make sure the printer the connected during boot so it can be recognized to avoid any hiccups.

To check the status run the following command 

captstatusui -P LBP2900 
  
It should show "Ready to Print" then it means you have correctly installed your printer. 

If the captstatusui reports a socket error then run the following commands 

sudo systemctl stop  cups.service
sudo systemctl start cups.service
sudo /etc/init.d/ccpd restart


References:
[1]https://underr.space/notes/it/it-0012.html
[2]https://github.com/gkr09/Canon-CAPT
[3]https://gist.github.com/akikoskinen/98b18251ca05b152d2df3548d057ef49#file-ccpd2-service

Popular Posts