Print on Your Old Printer from Any Client on Your Home Network

12 June 2022

If you are like me, you may have an old, but still perfectly functioning printer which you would like to print on from anywhere in your house. In my case, I even kept an old Windows PC just for printing. That PC is soon going to recycling, now that a Raspberry Pi helped make the printer reachable from any computer, phone, or tablet on the home network. This post will show how to easily achieve this.

The printer in question is a more than 15-year-old HP LaserJet 1020. I love that thing, still chugging along and still printing like a champ! The only issue was that since it’s old, driver support was gone, and I couldn’t print to it from other computers in my household. Luckily, I discovered a way to share the printer via a Raspberry Pi that I had already running on my network as a Pi-Hole server.

First, connect your printer to the Raspberry Pi via USB.

Install The Print Server (cups)

# Update repos and install cups 
sudo apt update
sudo apt install cups

# Add the pi user to the lpadmin group
sudo usermod -a -G lpadmin pi

# Allow remote access to cups and restart
sudo cupsctl --remote-any
sudo /etc/init.d/cups restart

Check that cups can be accessed locally at http://pi-local-ip:631/. You can skip the SSL warning and enter your pi username/password if prompted.

Install HP Drivers & Configure Printer

# Install HP Printer Drivers and PostScript Printer Description
sudo apt install hplip
sudo apt install hplip-ppds

The final step will be to add/configure your printer.

sudo hp-setup -i

This command will allow you to setup and add the printer to your system and print a test page at the end. The setup also had to download additional plugins for my printer. It took about a minute or two to print a test page, which I attributed to my printer being old. The -i is used for interactive mode in case you do not have a monitor attached.


After completing the hp-setup you should see your printer listed on the cups web UI in the Printers tab. You should also now see the printer from your other computers when adding a new networked printer. In my case everything worked just by listing the available printers from my macOS, Windows, and iOS clients.

Happy printing!

comments powered by Disqus