My printer is connected wirelessly to the router which in turn is connected to the internet. The desktop machine running Debian Jessie is connected to the same router via ethernet cable.
1) Find out the IP address of the printer.
root@hogwarts:~# arp-scan --interface=eth1 --localnet
Interface: eth1, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
192.168.0.1 20:e5:64:57:f1:12 (Unknown)
192.168.0.4 e8:99:c4:4c:d0:26 (Unknown)
192.168.0.8 00:1e:8f:97:25:3d CANON INC.
3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.8.1: 256 hosts scanned in 1.380 seconds (185.51 hosts/sec). 3 responded
This shows that the printer's IP address is 192.168.0.8
2) Install and start the cups service
apt-get update apt-get install cups /etc/init.d/cups startI have the following packages installed but it is possible that not all of them are necessary.
root@hogwarts:~# dpkg -l cups\* | grep ^ii ii cups 1.7.1-12 amd64 Common UNIX Printing System(tm) - PPD/driver support, web interface ii cups-bsd 1.7.1-12 amd64 Common UNIX Printing System(tm) - BSD commands ii cups-client 1.7.1-12 amd64 Common UNIX Printing System(tm) - client programs (SysV) ii cups-common 1.7.1-12 all Common UNIX Printing System(tm) - common files ii cups-core-drivers 1.7.1-12 amd64 Common UNIX Printing System(tm) - PPD-less printing ii cups-daemon 1.7.1-12 amd64 Common UNIX Printing System(tm) - daemon ii cups-filters 1.0.50-1 amd64 OpenPrinting CUPS Filters - Main Package ii cups-filters-core-drivers 1.0.50-1 amd64 OpenPrinting CUPS Filters - PPD-less printing ii cups-pdf 2.6.1-9 amd64 PDF writer backend for CUPS ii cups-pk-helper 0.2.5-2 amd64 PolicyKit helper to configure cups with fine-grained privileges ii cups-ppdc 1.7.1-12 amd64 Common UNIX Printing System(tm) - PPD manipulation utilities ii cups-server-common 1.7.1-12 all Common UNIX Printing System(tm) - server common files3) Add the printer
Add a user to the lpadmin group. For example, this is what I have
rajulocal@hogwarts:~$ id uid=1000(rajulocal) gid=1000(rajulocal) groups=1000(rajulocal),24(cdrom),25(floppy), 29(audio),30(dip),44(video),46(plugdev),104(scanner),107(bluetooth), 109(netdev),122(lpadmin)Go to http://localhost:631/ in your local browser.
Click on "Adding Printers and Classes"
Click on "Add Printer"
For some reason, "Find New Printers" did not detect the printer. So I used "Add Printer" to add the printer manually.
If prompted, provide the user login and password details of the account which you added to the lpadmin group.In "Other Network Printers" section, select "LPD/LPR Host or Printer" and click continue
In the connection field, enter
lpd://192.168.0.8/queueand hit continue. Replace 192.168.0.8 with your printer's IP address.
In the next screen, provide a Name, Description and Location for the printer and hit continue. I have
Name: CanonPixmaMX870 Description: Canon Pixma MX870 Color Printer with Duplexer, scanner, fax Location: HomeIn the next screen, choose
Make = Canon hit continue Model = Canon PIXMA MX870 - Cups+Gutenprint v5.2.9 (en)click "Add Printer"
In the next screen, I have set 2-Sided Printing = Long Edge (Standard) and left all other options as-is. Click "Set Default Options" when finished.
4) Test the printer setup
Print a test file using lpr.
rajulocal@hogwarts:~/x$ lpr -P CanonPixmaMX870 santhi.txtUseful links: