1. Enable 32-bit.
- Code: Select all
sudo dpkg --add-architecture i386
sudo apt update
2. Install CUPS
If you hadn't installed cups already install cups and also along with other printer drivers.
- Code: Select all
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
Enable cups by running this command
- Code: Select all
sudo systemctl enable cups.service
3. Install the Drivers
When installing the 32 bit driver dpkg at first will not install as there will be missing 32-bit libraries
- Code: Select all
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
4. 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
- Code: Select all
### 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
- Code: Select all
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
5. Create a ccpd2 unit file
create a file called ccpd2.service in /etc/systemd/system with the following content
- Code: Select all
[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
- Code: Select all
sudo systemctl enable ccpd2.service
sudo systemctl restart cups.service
6. Register the printer in the system
- Code: Select all
sudo lpadmin -p LBP2900 -m CNCUPSLBP2900CAPTK.ppd -v ccp:localhost:59687 -E
7.Printer port definition
- Code: Select all
sudo ls /dev/usb/
8. Registering the printer in ccpd service
- Code: Select all
sudo ccpdadmin -p LBP2900 -o /dev/usb/lp0
sudo ccpdadmin
9. Restart Cups and ccpd service
- Code: Select all
sudo systemctl restart cups.service
sudo systemctl restart ccpd2.service
10. setting our printer as default
- Code: Select all
sudo lpadmin -d LBP2900
Resart your computer, make sure the printer is connected during boot so it can be recognized to avoid any hiccups. To check the status run the following command
- Code: Select all
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
- Code: Select all
sudo systemctl stop cups.service
sudo systemctl start cups.service
sudo /etc/init.d/ccpd restart
Reference:
1. https://underr.space/notes/it/it-0012.html [Original Author]
2. https://github.com/gkr09/Canon-CAPT
3. https://gist.github.com/akikoskinen/98b18251ca05b152d2df3548d057ef49#file-ccpd2-service
4. https://debianforum.ru/index.php?topic=13400.0