Gentoo Wiki


Note: If you have another Printer from Brother that works with these instructions, please update the "Other Models that work" section on the main page of this article with the model of your printer. This will help keep this section as clean as possible without adding clutter, and will still inform other users that your model works.


Setup MFC 420CN printer drivers

Brother: Linux Driver Homepage

First go to the web site linked above and you'll need to download both the CUPS wrapper driver as well as the LPR driver. Note that these instructions may work for other models, however I can only test them on the model that I have.

As a reminder.. Filenames will vary with the model printer you are installing. Be carefull to substitute names with those that are appropriate for your model

Note: It is VERY important that you emerge the LPR driver first. If you accidently installed the cupswrapper first, then please let us know how you got it working. This is an ongoing unresolved issue. So PLEASE install the LPR driver, THEN the cupswrapper. It must be done in that order.

Install the MFC drivers

The MFC drivers can be installed via RPM or by rpm2targz. Generally, the former is the more accepted method when dealing with RPMs in Gentoo. Both methods are outlined below.

RPM Install

If it complains about folders not existing then create them, and rerun this command.

rpm -ihv --nodeps MFC420CNlpr-1.0.2-1.i386.rpm

If cupswrapper complains about cupsd, ignore it.

rpm -ihv --nodeps cupswrapperMFC420CN-1.0.0-1.i386.rpm

Here we simply link the filter where Gentoo expects it to be.

ln -s /usr/lib/cups/filter/brlpdwrapperMFC420CN /usr/libexec/cups/filter/brlpdwrapperMFC420CN

If you are using a x86_64 system, you also need to move the 32 bit library to where Gentoo expects to find 32 bit libraries (works also without that):

 mv /usr/lib/ /usr/lib32/

rpm2targz Install

Install using rpm2targz (convert, extract, copy extracted files):

rpm2targz MFC420CNlpr-1.0.2-1.i386.rpm
rpm2targz cupswrapperMFC420CN-1.0.0-1.i386.rpm
tar xfzv MFC420CNlpr-1.0.2-1.i386.tar.gz
tar xfzv cupswrapperMFC420CN-1.0.0-1.i386.tar.gz
cp -R usr /

Restart CUPS

/etc/init.d/cupsd restart
Note: If you are using this plugged into the USB then you are done. If you have it plugged into the builtin ethernet, then continue on to the next section.

Configure MFC for ethernet access.

This next section is not intended to be all inclusive. If you need help with cups then this wiki offers other great articles to help you through.

Starting CUPS configuration

Prepare your /etc/hosts ,if not be done by sane installation (recommended not mandatory).

echo " brother.mynetwork brother" >> /etc/hosts 

Open you favorite web browser


Then put this in the URL field

Configure CUPS

You'll be presented with several options, you want to choose "Modify Printer" It will then pop up a dialog box asking you to log in.

Now on the next window you will be presented with two text boxes

Now click continue

Now you will have to choose a device.

Make sure this is selected from the drop down list. Then click continue

Now you will have to set the device URL


In my case this is the IP address that I chose. (Read the MFC's manual to learn how to set the IP address.) Click Continue

Select the make. In this case Brother

Click Continue

Select the printer In my case it is

Click finish

Restart CUPS

/etc/init.d/cupsd restart


If you can't print and are getting an error in /var/log/cups/error_log,"PID XXXX stopped with status 22!" There are two things we can try.....

1: Change the first line of /usr/lib/cups/filter/brlpdwrapperMFC210C to

#! /bin/tcsh

2: Copy the filter from /usr/lib to /usr/libexec

cp /usr/lib/cups/filter/brlpdwrapperMFC420CN /usr/libexec/cups/filter/brlpdwrapperMFC420CN 
/etc/init.d/cupsd restart

If you can't print and are getting an error in /var/log/cups/error_log,"PID XXXX stopped with status 2!" Try reinstalling the cupswapper, and copying the filter to libexec.

rpm -ihv --nodeps --force cupswrapperMFC420CN-1.0.0-1.i386.rpm
cp /usr/lib/cups/filter/brlpdwrapperMFC420CN /usr/libexec/cups/filter/brlpdwrapperMFC420CN
/etc/init.d/cupsd restart

If you get the error "set: Variable name must begin with a letter." You can try:

tcsh /usr/local/Brother/cupswrapper/cupswrapperMFC420CN-1.0.0 -i

If you get the error "filter 'xxxxxx 'xxxxxx' cannot be found" Try copying the filter from /usr/lib to /usr/libexec

cp /usr/lib/cups/filter/brlpdwrapperMFC420CN /usr/libexec/cups/filter/
/etc/init.d/cupsd restart

This problem suddenly happened after a world update. After investigation the problem turned out to be that the print process was deleting the /usr/local/Brother/inf/brMFC7820Nrc file (MFC7820N in my case, file name will vary). I fixed this by first uninstalling everything (may not be necessary):

rpm -e cupswrapperMFC7820N-2.0.1-1.i386
rpm -e brmfc7820nlpr-2.0.1-1.i386
rm -rf /usr/local/Brother
rm -f /usr/libexec/cups/filter/brlpdwrapperMFC7820N

Then follow the install instructions all over again, but before attempting to print change some permissions like this:

chmod a-w /usr/local/Brother/inf
chmod a-w /usr/local/Brother/inf/brMFC7820Nrc

The file will now no longer be overwritten and printing should work again!

With some Printers CUPS put out this Message after trying to print the testpage. The Problem can be solved with a change in /etc/cups/cupsd.conf. Simply add the following line in it.

FileDevice YES

Then do the following and use the new created printer.

lpadmin -p DCP-115C -E -v file:/dev/usb/lp0 -P /usr/share/cups/model/brmfc210c_cups.ppd

Open TCP port 515 at your firewall.

You might want to try to correct the permissions on the relevant files by yourself - see: [1] (until now this has worked with 3 different printers for me and is reported to work with even more ;) - good luck !)

Retrieved from ""

Last modified: Thu, 24 Apr 2008 15:20:00 +0000 Hits: 10,951