Sunday

Using CUPS as printer server on a Raspberry Pi - HP 1018 and Epson AL-C2000

This is one of best and most overdue project I've ever done - it allows everyone to print without the need for a cable connection and without setting up printer drivers. I can at last print from every computer, phone or tablet Android or IOS.

The problem with printers, and many peripherals, is that I change the computer so many times in their lifetime I feel than I am forever installing drivers and problem solving with them. After twenty years of this it was time to get a printer server.


UPDATE - in 2020 I moved to a CUPS Docker based server to replace this setup although it was working well. I'll write up the long story in time. In short we install Raspberry PI OS Lite > then OpenMediaVault 5 > then Docker & Portainer > then CUPS with Foomatic drivers.

Solutions to problem printers

HP Laserjet 1018 on CUPS / Linux printing on Raspberry Pi

This very popular, reliable and cheap to run printer is different. It needs a proper driver with software support from every computer I've ever used it with. If you look at the list of printers supported by HP you'll see the HP 1018 needs a plug-in. So do as follows:

Instructions to install CUPS and HPLIP hp-linux-imaging-and-printing. This adds the printer to the list in CUPS. The cups in line 3 below is redundant if you followed the Howtogeek setup above.
  • sudo su
  • apt-get update
  • apt-get install hplip cups
  • usermod -a -G lpadmin pi

Instructions to install HPLIP plug-in

You might as I get an error from the following. However the error text helpfully tells you to try 'interactive mode' where you answer questions to install the plugin. 
  • hp-setup OR
  • hp-plugin

Instructions to set up CUPS with the HP 1018

Add a new printer. The printer needs to be on. Click the box to make the printer shareable. The HP 1018 should be in the list of printers with a note 'requires proprietary plugin'. Ignore this as you've installed that. 
Finally you'll see the printer as e.g. hp:/usb/HP_LaserJet_1018?serial=KP0GHC8

Epson AL-C2000 on CUPS / Linux printing on Raspberry Pi

This printer is less different however I've too often found it fails to print as reliably (eg mono instead or colour; portrait printed as landscape) using the standard CUPS gutenprint / foomatic drivers whether I chose PCL5 or PS3. I tried Generic Postscript too. 
Instead of choosing from the list of printers in CUPS, I used the PPD that came with the printer and that did it. 

My PPD for Epson AL-C2000 (stored on Google Drive)

Adding the printers to your Android phone or Mac.

The printers installed on CUPS should be discoverable when you choose Add Printer .... On my Mac the printers appear as Bonjour devices. Click the + in Mac Preferences / Printers. Choose from the list of Bonjour devices. Printers can also be installed on Android using the default Printing Service (you must disable Cloud Prin on the phone). IF the Mac complains that the driver comes from a different manufacturer etc, you'll probably also now need to add the PPD or add the drivers to this local machine. 

Adding the printers to your PC

Windows 10 didn't discover the printers too easily. I opened up CUPS and navigated to the printer page and copied the URL (http://192.168.1.xx:631/printers/EPSON_AL-C2000). Give this URL to Windows after it fails to find a printer.

You might want to rename your printer
Try this http://jennyandlih.com/renaming-printer which enables you to edit the config file. 

/etc/init.d/cupsys stop

sudo nano /etc/cups/printers.conf
/etc/init.d/cupsys restart




4 comments:

adilin said...

This post will be very useful to us....i like your blog and helpful to me....nice thoughts for your great work....


123.hp.com'setup

Zenith Coupons said...

Your blog post is really very informative & interesting. Thanks for sharing. For more updates on online shopping Coupons & discount Codes please visit Photobook Indonesia Kupons

Ed said...

One small edit for renaming printer
the command to stop cups may need be
/etc/init.d/cups stop

bwims said...

Good article, but you accidentally edited out the link which you refer to after the docker details:

"I used Howtogeek how-to-turn-a-raspberry-pi-into-a-google-cloud-print-server"

(https://www.howtogeek.com/169566/how-to-turn-a-raspberry-pi-into-a-google-cloud-print-server/) Hat-tip to archive.org