home |  electronics |  toolbox |  science club |  tuxtalk |  photos |  e-cards |  online-shop



August 2025

Brother mfc-l8900cdw Linux "printer driver" (getting PPD configuration file for linux)

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.

First impression

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.

Using all the features, Brother "linux driver installation", getting the correct PPD file

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!

I don't understand why Brother does not just publish a stand-alone ppd file. The ppd file that they offer for linux depends on this strange filter which does not work with my cups installation.

After some searching I found a description on how to get real stand-alone ppd files for Linux:
https://support.brother.ca/app/answers/detail/a_id/182593/~/how-to-create-a-brother-ppd-file-for-installation---linux, local pdf copy of that page: How_to_create_a_Brother_PPD_file_for_installation_-_Linux_-_Brother_Canada.pdf

You need to go to the Windows download section to get the Linux PPD files!

BR-script ppd files for brother printer
The BR-script Linux ppd files for brother printers can be found in the windows section of the brother web site


Of all the formats possible they choose to provide their BR-script ppd files as a window exe file. It's a self extracting zip archive. Inside are not simply ppd files but files that need to be expanded before they become text files. You can extract it under Linux. It's complicated but it can be done as follows:
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

Installing this PPD file in cups worked however without any problems:
I don't understand why brother does not publish the plain postscript PPD files. This would be the easiest way to configure this printer for use under linux.

Here is the plain PPD file for use with Linux:
brpml8900cdw.ppd


Back to NPA blog index

© 2004-2025 Guido Socher