Brother networked printer

This document covers the installation of Brother printers.

User feedback
After having applied this guide to the printer, please update the following table  so that other users can easily confirm if successful installations have been performed with their printer model or not:

cups
Make sure is installed:

The cups service must be started before the driver(s) can be installed.

OpenRC
If OpenRC is used, then the following command can be issued to start the cups service.

To have it started automatically at boot time, use rc-update:

Systemd
If systemd is used, then the following command can be issued to start the cups service.

To have it started automatically at boot time, invoke the following:

Preferred: Using overlay drivers
If the printer is supported by an ebuild in brother-overlay or some other overlay, then please use it, as it usually contains all the prerequisites mentioned here. It would allow to skip the section "Alternative: rpm installation".

To enable an overlay, create the proper /etc/portage/repos.conf file and it as shown here for brother-overlay:

For using sync-type = git the package needs to be installed. Alternatively, layman can be used for adding the overlay.

From the overlay install the driver using as shown here for Brother's Generic LPR and CUPSwrapper printer  driver.

The net-print/brother-genml1-bin ebuild from brother-overlay contains the Generic printer drivers as offered on support.brother.com for a wide range of compatible models (click the Compatible Model link on BrGenML1 Compatible Models):
 * Generic LPR printer driver (rpm package)
 * Generic CUPSwrapper printer driver (rpm package)

The ppd file installed is brother-BrGenML1-cups-en.ppd and the make and model is Brother BrGenML1 for CUPS.

Alternative: rpm installation
As the drivers are available from Brother in the form of an file, the  package needs to be installed.

Missing directories
Please create these directories up front; it will save a lot of trouble later:

Downloading the driver from Brother
The drivers for Brother printers are available at Brother solutions' web page.

Search for the correct model name by following the directions given by the pages.

After having chosen the right model, four drivers will be presented for download. Please download the two ones ending in for LPR driver and cupswrapper driver.

Installing the drivers
Installing the drivers may be a multiple-step process as some needed directories may appear missing on the system.

To install a driver change to the directory where the downloaded files are located.

Next, issue the following command to see the filenames:

Of course the driver names may change according to the model's name. The output of the previous command can be used to copy and paste the filenames in the rpm command to avoid typos when entering them.

First install the LPR driver.

The installation may give some warnings, telling that some directories are missing. In this case, add the missing directories by hand and re-install the driver with this command:

Next install the cupswrapper driver the same way:

Again, the installation may give some warnings, telling that some directories are missing. Try to add the missing directories by hand and re-install the driver with this command:

Copying the filter at the right place
Copy the filter to the right place with the following command:

Connect the printer to the network
Connect the printer to the network as described in the network section of the printer model's Online User Guide. From this step, the printer's network address can be obtained which is needed for CUPS in the next step. When pointing the browser to the printer's network address it will go to the printer's user interface.

Use command line to install the printer
CUPS has automatical detection of network printers.

Add the printer with using device uri and ppd file:

Check the setup with

Alternatively, CUPS' web interface http://localhost:631/admin could be used to add printers.

In case the printer detection does not work it might be blocked by iptables/nftables. As a workaround, the printer should temporarily be directly connected to the computer. So if possible connect the printer to the computer and point the browser at localhost:631.

Then, in the printer's line item, click on Add This Printer. On the next screen, accept or adjust name, description and location and press Continue. Complete the dialog with manufacturer Brother and the correct driver, and select Add Printer.

Next, disconnect the printer from the computer. In CUPS dialog, for the just installed printer, click the Administation drop down menu and select Modify Printer. On the next screens, select LPD/LPR, enter the network URL, click continue, select the previously installed "current driver" and modify Printer.

Don't forget to set the user's default printer

Prerequisites
Make sure the package is installed in order to install the driver for the scanner. As most users will use xsane to scan a document, just emerge it. The package will be pulled in as a dependency.

Installing the driver
Download the driver from the Brother Solutions's download page for the scanner.

Change to the directory where the downloaded drivers are, and run the following command:

This will show the file names of the downloaded files, allowing for easy copy/paste for the next commands.

Install the drivers using rpm:

Configuring the scanner
Once the driver is correctly installed, use the following command:

Now check everything is correctly installed:

Congratulation! The scanner is now ready for use!

Generic LPR printer driver on amd64
The printer driver uses statically compiled x86 binaries. To be able to execute them the kernel needs to have the following configuration enabled: IA32_EMULATION

Text shifted up
Sometimes it happens that the text is shifted up toward the upper border of the page.

To correct this, enter the following command:

Scanner not detected
It may happen that, when xsane is launched, the scanner is not detected. This is probably due to a too recent version of libusb. In order to solve this, it might be necessary to install :

External resources

 * Brother solutions, Linux page on Brother.com
 * brother-overlay on Github.com