Dell C1760NW old printer sharing with Windows 11, Android, Linux via a Linux system

With Windows disabling support for Windows 10 and in future, native printer drivers, I wanted a nice way to keep my hardware up and running with modern Windows and Android.

My Dell C1760NW is 10 years old, but it's only been used for occasional printing and cheap toners make it cheap to run, and it's quite reliable.

A colour laser printer like this is ideal, because it's there and ready to use when I want it. No faff cleaning the printer heads, unplugging it and plugging it back in. It just works.

The printer was purchased before I moved to Linux, but thankfully, through searching around, I found that the Xerox Phaser 6000B Linux drivers work fine with it.

They are even reliable - work every time whereas the Dell Windows drivers occasionally needed the printer to be removed and re-added in Windows to be able to print.

I've been printing from Linux Mint for quite some time now, but my wife uses Windows, and it would also be nice to print direct from our Android if we've got a parcel label or something simple to print without booting up a desktop.

My server runs Debian Bookworm, and this is ideal to share the printer via CUPS. CUPS now supports driver-less AirPrint / Mopria sharing. Support for this is built into Windows 10 1809 and all versions of Windows 11.

If you don't have a server, a small single board computer would work. For this Dell printer though, since support is not built into Linux, only an x86 computer would work (so Raspberry Pi is out). There are so many old desktops such as Dell Optiplex, Lenovo ThinkCentres and the like that can be had cheap, or Celeron Mini PCs, old NUCs or laptops.

Assuming you install Debian, or Ubuntu, the setup can be followed below for installing the printer driver:

Download the drivers from https://www.support.xerox.com/en-gb/product/phaser-6000/downloads?language=en_GB&platform=linux. You'll need 6000_6010_deb_1.01_20110210.zip.

unzip 6000_6010_deb_1.01_20110210.zip
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt install libcupsimage2:i386
sudo apt install lib32z1
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libcupsimage2:i386
sudo apt install libc6:i386 libncurses6:i386 libstdc++6:i386 libcupsimage2:i386
sudo dpkg -i deb_1.01_20110210/xerox-phaser-6000-6010_1.0-1_i386.deb

That's support for the printer done. If you have a different printer, then support may be built in, or other drivers might be available from the manufacturer, or someone made some on github.

Now, we can setup CUPS.

sudo apt install -y cups
sudo systemctl enable --now cups.service
sudo usermod -a -G lpadmin $USER
sudo cupsctl --remote-any
sudo systemctl restart cups

If your firewall is enabled, you might also need to do:

sudo ufw allow cups

CUPS should now be available on your Linux machine. You need to know the IP or hostname and navigate to https://10.0.0.2:631 - assuming 10.0.0.2 is the machines IP. Alternatively, if you installed a GUI and browser on your machine, go to https://localhost:631.

They'll be a warning about the self-signed certificate - so you'll need to accept that risk and continue. This service is just on your local network (assuming you're not port forwarding port 631 to the Internet), so the risk is fine.

CUPS Self-Signed Certificate Warning

Go to Administration and then Add Printer. From there, your Dell C1760NW should show up, assuming it's plugged into the LAN or connecting via Wi-Fi.

Tick "Share This Printer" and adjust the name to make it distinct from the direct network name.

Change the manufacturer to Xerox and pick Xerox Phaser 6000B v1.0 from the list. If it's not there, the drivers were not installed correctly.

That's it. You should now be able to print from any Windows, Android or Linux client, and maybe Apple too.

The first one listed is the printer shared via CUPS. Click "Add Device". They'll be some delay whilst connecting, but eventually, Windows makes it available, and you do not need to install drivers.

Many thanks to these references:

Labels

Linux