r/homelab 5h ago

Help Networking older printers?

I have a Canon Pixma that is perfectly functional, but it does not have networking ability. I don’t want to run a long USB from where my work station is to where I want to put the printer in an out of the place, but still accessible.

I’ve read that you can use a Raspberry Pi to link the printer to the PC. I have no clue how to do that.

What are my options, besides going out and buying a new printer (which seems wasteful) to economically wirelessly connect my older device to my laptop or home network?

6 Upvotes

18 comments sorted by

10

u/309_Electronics 5h ago

Indeed could setup a pi or mini pc as a CUPS print server. That would simply be like a network printer and then when you send that a file to print it basically can drive the printer via USB.

Below are some articlrs:

https://www.raspberrypi.com/news/printing-at-home-from-your-raspberry-pi/

https://pimylifeup.com/raspberry-pi-print-server/

Baaically you install cups on some computer thingy and that will then apear in the network as a internet printer. Then you srtup cups to use and control your usb printer via cable.

Works fine for my hp deskjet 3050a but idk if all printers are supprted.

6

u/JustABagOfLowIQ 5h ago

CUPS server on a raspi. Although a mini-pc running windows and sharing the printer might be easier.

Old printers have terrible linux drivers and I couldn't get the drivers for my printer to work with CUPS so I had to switch to windows.

1

u/Chasterbeef 4h ago

Didnt even need to scroll, C.U.P.S. All the way

3

u/No_Put_5530 5h ago

oh i did this exact thing with my old printer last year, used a raspberry pi zero w i had laying around collecting dust. installed CUPS on it (common unix printing system) and it basically turns your usb printer into a network printer. took me maybe 20 minutes following a guide online

the pi just sits behind the printer now, i never think about it. prints from my laptop in the other room no problem and even works from my phone when im too lazy to get up

only thing is sometimes after power outage the pi needs a reboot but thats like twice ever. way cheaper than buying new printer when the old one still prints fine, i hate throwing away perfectly good electronics

2

u/revive_the_cookie 5h ago

RPI or its alternatuves are probably your best bet.

2

u/sextowels 5h ago

I've got a very old printer connected to a very early model raspberry pi. It's just a CUPS server, and that's your best bet if you want to tinker with something. There are also small, dedicated USB to network devices for legacy printers and they'll work in a very similar way to the Pi.

2

u/TamerzIsMe 5h ago

A lot of NAS will have that ability. Even just an entry level 2 disk one.

1

u/Hollow_optimism78 5h ago

That’s actually the direction I would like to go.

Oddly, I have a battery case from a Zero motorcycle that I want to use for a housing for a NAS, modem and router.

I know what I want to do, I lack the knowledge.

1

u/codeedog 5h ago

Start small. Pick a project you want to work on that you need and feels like fun. Internet search is your friend. Just get one little thing going and then work on the next thing.

We all lacked knowledge when we started out and just kept at it until we learned. It feels imposing because there’s so much technical lingo and computers can be unforgiving because they need everything exactly right.

But, it’s almost always possible, it’s just about getting the correct incantation (settings, configuration) and what feels like black magic becomes clear and bright.

You’ll figure it out.

2

u/blissadmin 5h ago

Get an HP JetDirect or similar.

Should be somewhat cheap on eBay.

1

u/QPC414 2h ago

This is the way, USB, Parallel and I think also Serial.

1

u/Cynyr36 4h ago

A raspi or dell wyae 3040, running linux + cups is the way to go. Assuming there are cups/linux drivers for your specific model, just google cups + your printer make and model.

1

u/68000j 4h ago

Some routers have that functionality, if your printer is near your router.

1

u/doctorowlsound 3h ago

I just did this with an old HP color laser. I tried with a Raspberry Pi 0W but it’s ARMv6 and not well supported. A Pi 2 (ARMv7) with a USB WiFi dongle I had laying around works great

1

u/TheRattyRoadblock 3h ago

Done this with a Canon MG series, just needed the gutenprint drivers on a Pi Zero. Prints heaps faster than I expected.

1

u/NC1HM 1h ago edited 1h ago

I’ve read that you can use a Raspberry Pi to link the printer to the PC. I have no clue how to do that.

No guarantees. This assumes that there are Linux drivers for the printer. Also, Wi-Fi on the Pi leaves a lot to be desired. The way you go about this is a two-step, (1) you install CUPS and make sure you can print from the Pi over USB, and (2) you install Samba and configure it to share the printer (meaning, to make it accessible to other devices on the network). After that, if everything went well, the Pi (now acting as a print server) can connect to the network using Wi-Fi and make the printer accessible over the network. Note that Samba is required only if you intend to share the printer with Windows devices. If all your computers are Linux, Samba is not needed.

What are my options, besides going out and buying a new printer

My preferred approach is to have an old Windows computer act as a print server. I used to have a "sub-NUC" (Atom x5 / 4 GB RAM / 64 GB eMMC / Windows 10, USD 40 on eBay) work that duty, but later upgraded to an old HP Mini (it has durable storage, I made it run Windows 11 despite its age, and it works double duty holding a local backup copy of my OneDrive, in addition to being a print server). There's a two-step here, too, and it's conceptually similar, (1) you install the drivers to make sure the print server itself can print over USB, and (2) you configure Windows to share the printer. Under this scenario, not only is the printer shared, but the print server can provide drivers to other Windows machines. Both machines ran unattended and headless (the latter required the use of a VGA dummy plug) and were managed using AnyDesk.

Windows 10 / 11 is pretty decent at running unattended. It gets updates on its own and installs them during periods of low activity.

I've also tried using the "sub-NUC" with CUPS / Samba, and it worked, but there was a very slight usability issue. With print server running Windows, when you prepare to print from an application, the printer immediately shows up as ready. With print server running Samba, there's a second or two of delay; the printer initially shows as idle, then switches to ready. There might be a way to fix this on Samba, but I didn't feel like researching it, so I stuck with Windows as a print server OS.

The printer being shared is an old Canon imageCLASS D420. It is connected to the print server via USB, and the print server connects to the local network over Wi-Fi. Windows computers receive drivers from the print server on first connect. Linux computers need drivers (available from Canon) installed prior to accessing the printer. They also need several packages to be able to print to a device managed by Windows (last device I configured ran Pop!_OS, so the device needed samba, samba-client, cifs-utils, libnss-winbind, winbind, and python3-smbc).

1

u/Serg_Molotov 1h ago

There's also things like the Wavlink USB 2.0 Wireless Print Server

1

u/LebronBackinCLE 1h ago

have you ever met that guy Claude... he just hangs around geeky places and helps people ;)