It is becoming difficult to maintain my xerox phaser 6250 printer because xerox simply decided
to not provide any spare parts anymore. This is how xerox treats loyal customers. One of the
main reasons why I have been able to use this printer for more than 20 years is that it does
not require any driver. That is: you can print as long as you have a network connection and a postscript file. Nothing else is needed. At the time when I bought this printer it was common practice that one had to install
a custom binary (aka driver) to be able to use any given printer. This printer just requires postscript
files and there is special postscript code that can optionally be inserted to tell the printer
to print double sided or which paper tray to use. This is known PPD files. So the only "printer
driver" that you need is just a text file (a configuration file called ppd file which contains snippets of postscript code).
I wanted a similar printer (one that talks postscript) and has also a scanner. The scanner should also not depend on any driver. I found the Brother mfc-l8900cdw. It can scan to an ftp server or to a USB key which you can just plug into a usb port on in the front of the printer. The Brother mfc-l8900cdw understands also postscript and the company has
linux printer drivers.
The build quality of the Brother mfc-l8900cdw seems to be quite good. I had it only for a few days but it looks good. Linux compatibility is excellent. No drivers are required at all. You just need the correct PPD file (that's technically a kind of configuration file not a real driver).
I plugged in an ethernet cable, assigned it a static IP (10.0.0.35) and the printer was ready for a first test. To do this you don't need any driver or special software. You just need a pdf file and the linux command rlpr (not lpr). rlpr is similar to lpr but allows you to specify an IP address instead of a printer queue name.
rlpr -H 10.0.0.35 addresslabels.pdf
The brother printer understands postscript or pdf. It worked and addresslabels.pdf printed form the default paper tray, single sided. Scanning to USB was also flawless. I plugged an empty usb key in, pressed a few buttons on the touch-screen and it was scanning photos to jpg files on the usb key.
It would be possible to edit a postscript file and add custom code to tell the printer to print duplex etc ... but if you load the correct ppd file for the printer into your linux cups printing system then that will all be done by cups.
I downloaded the cups-wrapper driver from https://support.brother.com/ and to my surprise it
did not just contain a single ppd file. It contained also a perl script. The perl script is a cups printer filter and it may work with a more modern cups installation but it failed for me with this error:
E [27/Jul/2025:15:15:19 -0400] [cups-deviced] PID 2634 (gutenprint52+usb) stopped with status 1!
Look at the content of the exe file: unzip -l Y16E_C1-ps-64-110-enus.EXE Unzip the exe file: unzip Y16E_C1-ps-64-110-enus.EXE This creates a directory called USA cd USA/ The *.pp_ files inside the zip archive are unfortunately not text files yet. You need to expand them with: msexpand *.pp_ This gives you files called .pp which you can then rename to .ppd mv brpml8900cdw.pp brpml8900cdw.ppd