Printer

Download Printer drivers

If you previously tried to install the printer in CUPS, remove it.

First create a temporary directory.
Then you must download the official LPR drivers from the Brother website into that directory. Click here (and agree to their terms). This is an RPM archive.
You have to download the cupswrapper file here (and agree to their terms). This script creates the filters and PPD file for CUPS automatically. It's an RPM archive too.

Extracting the RPM files

Now you need a small script called rpmextract which allows you to get the files included in the RPM you've just downloaded.
Log in as root and execute :

Editing files to make it work with Arch

Arch Linux uses its own file system organization, so you have to edit some files.
Use your text editor (i.e. vi) to open the file named cupswrapperDCP7020-2.0.1
If you created the temporary directory "tmp" in your home, this file will be in /home/(your user)/tmp/usr/local/Brother/cupswrapper/cupswrapperDCP7020-2.0.1

In this file, you must replace all the /etc/init.d/ occurrences by /etc/rc.d/ and /etc/init.d/cups by /etc/rc.d/cupsd.

Once you've finished this step, copy all of the files to their corresponding directories in your file system :

# cp -r /home/user/tmp/usr/* /usr
# cp -r /home/user/tmp/var/* /var

Installing the driver and printer

Last step!

Go into /usr/local/Brother/cupswrapper/ and run the cupswrapper file :

Scanner

You can install this manually, using the following instructions, or else there's now a package in the AUR too, here.

You'll need to extract the files to a temp path:

$ rpmextract brscan2-0.2.4-0.i386.rpm

or, for 64 bit:

$ rpmextract brscan2-0.2.4-0.x86_64.rpm

Now copy the files to their corresponding directories in your file system:

# cp -r /path/to/brscan/usr/* /usr

Now you'll need to add "brother2" to the end of /etc/sane.d/dll.conf
Brother felt it necessary to include a script to do that, so you can also run:

# /usr/local/Brother/sane/setupSaneScan2 -i

Troubleshooting

I can scan as root, but not as a normal user

Make sure your user is in the scanner group:

# gpasswd -a username scanner

then log out and back in.

If you still can't scan as a normal user, check that /usr/lib/sane (or /usr/lib64/sane for 64 bit) are readable and executable for your user/group.

64 bit caveat

The 64 bit RPM has two files in /usr/lib64/, along with two symlinks to each file. However, the Arch64 Sane package will probably look in /usr/lib/ rather than /usr/lib64/, so we'll need to create some more symlinks. And since the symlinks reference the absolute path, not the relative path, ie: