Brother networked printer
This document covers the installation of Brother printers.
While this page should be self-sufficient to install a printer, it is recommended to read this page and the Printing page in their entirety before starting the installation.
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:
Model | Printer driver | Scanner driver | Printer status | Scanner status | Notes |
---|---|---|---|---|---|
DCP-J785DW | Official RPMs | N/A | Works | Works | Connected by USB |
DCP-750CW | N/A | N/A | Works | Works | |
DCP-1610WE | N/A | N/A | Works | Not tested | After WPS configuration printer used Zeroconf instead of DHCP. |
DCP-7055W | N/A | N/A | Works | Works | |
DCP-7070DWR | net-print/brother-genml1-bin from brother-overlay | media-gfx/brscan4 | Works | Works | Printer works through ipp, but not through lpd protocol. |
DCP-J100 | Official RPMs | media-gfx/brother-dcpj100-bin from brother-overlay | Works | Works | |
DCP-J140W | Driverless or Official RPMs | dev-libs/libusb-compat | Works | Works | In the case of the Brother's Driver Install Tool: root # sh linux-brprinter-installer-<version> DCP-J140W |
DCP-J925DW | Driverless | N/A | Works | Works | |
DCP-9020CDW | net-print/brother-dcp9020cdw-bin from brother-overlay | media-gfx/brscan4 | Works | Works | Works over network. |
HL-L2340DW | Driverless or net-print/brlaser (release >=6) or net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
DCP-L2550DW | Driverless | Scanner over network requires media-gfx/sane-backends (release >=1.0.31-r2) compiled with sane_backends_escl USE expand. | Works | Works | |
HL-L2350DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-L2380DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-L3210CW | Driverless. [1] | N/A | Works | Not tested | |
MFC-J4410DW | N/A | N/A | Works | Works | Filter to copy is at /opt/brother/Printers/mfcj4410dw/lpd/filtermfcj4410dw but scanner not detected by xsane at the moment. |
MFC-J870DW | Driverless or net-print/brother-mfcj870dw from ulm overlay | media-gfx/brscan4 | Works | Works | Driverless printing works, but not driverless scanning. |
MFC-J5910DW | N/A | N/A | Works | Works | Filter to copy is /usr/lib64/cups/filter/brother_lpdwrapper_mfcj5910dw. Also requires dev-libs/libusb-compat (see section Common Troubles). |
MFC-J6920DW | net-print/brother-mfcj6920dw-bin from brother-overlay | N/A | Works | Works | |
MFC-9320CW | net-print/brother-mfc9320cw-bin from brother-overlay | N/A | Works | Works | |
MFC-9330CDW | net-print/brother-mfc9330cdw-bin from brother-overlay | N/A | Works | Works | Set up a socket based printer (seem to have better luck with it, test pages not working with lpp). |
MFC-9340CDW | net-print/brother-mfc9340cdw-bin from brother-overlay | N/A | Works | Works | |
HL-4570CDW | net-print/brother-hl4570cdw-bin from brother-overlay | N/A | Works | Not tested | |
DCP-7060D | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Works | |
DCP-7065DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
DCP-8080DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
DCP-L2520DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-2230 | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-2240 | Official RPMs or net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | Not networked printer. |
HL-2240D | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-2270DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-2280DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-5370DW/HL-5370DWT | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-5440D | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-5450DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-5470DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-6180DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-L2320D | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-L2360DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
HL-L2380DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-7360N | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-7460DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-7860DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8480DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8510DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8710DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8890DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8910DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-8950DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-L2700DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-L2720DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
MFC-L2740DW | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Not tested | |
DCP-L2540DW | net-print/brother-genml1-bin from brother-overlay | media-gfx/brscan4 | Works | Works | Works over network. |
DCP-L2540DN | net-print/brother-genml1-bin from brother-overlay | media-gfx/brscan4 | Works | Works | Works over network. |
MFC-8950DW | N/A | N/A | Works | Works | Filter to copy is at /opt/brother/Printers/MFC8950DW/lpd/filter_MFC8950DW |
MFC-5890CN | N/A | N/A | Works | Works | Scanner config command brsaneconfig3 |
MFC-9970CDW | N/A | N/A | Works | Not tested | |
MFC-9140CDN | N/A | Scanner requires dev-libs/libusb-compat to work (see section Common Troubles). | Works | Works | |
MFC-J5620DW | Brother linux-brprinter-installer-2.0.0-1 | Scanner requires dev-libs/libusb-compat to work (see section Common Troubles). | Works | Works | Put a 'brother4' line in /etc/sane.d/dll.conf. Also needs editing of PPD and cups filter files to get duplex double-sided printing to work. |
MFC-J480DW | net-print/brother-mfcj480dw from andy ebuild repository | media-gfx/brscan4 | Works | Works | |
MFC-J6710DW | media-gfx/brother-mfcj6710dw from brother-overlay | N/A | Not tested | Not tested | See Printer mfcj6710dw. |
MFC-J6720DW | mfcj6720dwlpr | media-gfx/brscan4 and dev-libs/libusb-compat (see section Common Troubles) | Works | Works | Did not test USB, only network. |
MFC-9130CW | Official RPMs | media-gfx/brscan4 | Works | Works | Printing is somewhat flaky with the Brother drivers (no landscape mode, bad margins sometimes). The generic CUPS postscript driver is compatible with this printer and doesn't have these issues, but also lacks several configuration settings from the proprietary driver. |
MFC-9120CN | Official Brother MFC-9120CN CUPS (color) driver | dev-libs/libusb-compat (see section Common Troubles) | Works | Works | Filter to copy is at /usr/lib64/cups/filter/brlpdwrappermfc9120cn. Scanner config command is brsaneconfig3. |
MFC-9560CDW | net-print/foomatic-db Brother MFC9840CDW Foomatic/Postscript | media-gfx/brother-mfc9560cdw-bin from brother-overlay | Partial | Works | Duplex printing is not available. Official mfc9560cdw.ppd downloaded from Brother does NOT work.
|
MFC-9142CDN | Brother MFC-9142CDN CUPS (color, 2-sided printing) driver | dev-libs/libusb-compat (see section Common Troubles) | Works | Works | Filter to copy is at /usr/lib64/cups/filter/brother_lpdwrapper_mfc9142cdn. Scanner config command is brsaneconfig4. |
HL-3170CDW | Official RPMs | N/A | Works | Not tested | Right after copying the filter, printer is visible in the GNOME setting's "Printers" section. For printer to work though, remove that printer and install the printer from scratch, selecting the LPD printer option when prompted. Make sure to install app-text/psutils. The filter uses psnup. If using usb make sure to add a udev rule as per Gentoo documentation. Copy the filter over to cups: root # cp /usr/lib64/cups/filter/brother_lpdwrapper_hl3170cdw /usr/libexec/cups/filter/ |
HL-3180CDW | media-gfx/brother-hl3180cdw-bin from brother-overlay | N/A | Works | Works | Filter to copy is at /opt/brother/Printers/mfc9320cw/lpd/filtermfc9320cw. Scanner config command is brsaneconfig4. |
MFC-J6510DW | Official RPMs | N/A | Works | Not tested | |
QL-700 | Official Brother ql700pdrv-3.1.5-0.i386.rpm rpm drivers | N/A | Works | Not tested | Connected by USB. See Gentoo forum thread regarding installation. |
MFC-L2710DN | Official RPMs | Scanner requires Avahi and sudo. | Works | Works | The printer is Network Connected. Drivers installed from *.rpm package using guide herein. Before running #rpm -i the archive was unpacked using #rpm2tar command and then investigated with #tree in order to identify which folders should be created in advance. To complete installation of scanner run $brsaneconfig4 |
MFC-L2712DN | net-print/brother-genml1-bin from brother-overlay | N/A | Works | Works | To add scanner, run brsaneconfig4, works like a charm with Plasma Skanlite. CUPS printing requires Avahi running, and change printer hostname to end with .local (e.g. BRNB422000E9552.local ).
|
MFC-L2750DW | Driverless | N/A | Works | Works | Connected via network. OSS (driverless) provides (limited) basic support:
- Printing: Use cups IPP Everywhere builtin driver. Printing works in apps, including duplex. From IPP attr, as seen in ipptool, it is unclear if optimum resolution (HW spec: max 1200dpi) is used because "pwg-raster-document-resolution-supported" only provides "600dpi", while attr "printer-resolution-supported" lists up to "1200dpi". Actual resolution is not visible in print dialog, where only Q levels Draft/Normal/High are listed! From inspecting IPP attr list, IPP 2.0 is published and raster format seem to be mainly supported (no PDF format, no full IPP Everywhere/yet?).
|
MFC-L2750DW | Official Brother-MFC-L2750DW RPM Drivers 4.0.0 | media-gfx/brscan4 | Works | Works | - Printing: Arch Linux has dedicated RPM package of proprietary printer driver. No ebuild prepared+tested yet. After manual installation, printing also works: Dpi selection up to 1200dpi (with two flavors "HQ1200"=2400x600, "1200dpi") possible in printer settings -- with only subtle differences for text prints in comparison to printout of IPP driverless. Also additional options for Secure Print and Toner Save are shown.
|
DCP-L2530DW | Driverless | N/A | Draft quality only | Not tested | Printing. For high quality you have to use the proprietary driver |
Prerequisites
cups
Make sure net-print/cups is installed:
root #
emerge --ask net-print/cups
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.
root #
/etc/init.d/cupsd start
To have it started automatically at boot time, use rc-update:
root #
rc-update add cupsd default
Systemd
If systemd is used, then the following command can be issued to start the cups service.
root #
systemctl start cups.service
To have it started automatically at boot time, invoke the following:
root #
systemctl enable cups.service
Installing the drivers
driverless
CUPS printer drivers and backends are deprecated and will no longer be supported in a future feature release of CUPS.
For how to go without printer drivers see driverless printing
net-print/gutenprint
A third-party driver with a number of Brother printers supported and several other brands as well.
root #
emerge --ask net-print/gutenprint[ppds]
Proceed with Installing the printer.
net-print/brlaser
A third-party printer driver supporting a wide range of Brother printers is net-print/brlaser.
root #
emerge --ask net-print/brlaser
Proceed with Installing the printer.
Using drivers from ebuild repositories
For printers not supported by net-print/brlaser and if the printer is supported by an ebuild in the brother-overlay ebuild repository or some other ebuild repository, the ebuild should be used, as it usually contains all the prerequisites mentioned here. It would allow to skip the section "Alternative: rpm installation".
To enable an ebuild repository, create the proper repos.conf file and emaint sync it as shown here for the brother-overlay ebuild repository:
root #
eselect repository enable brother-overlay
root #
emaint sync -r brother-overlay && eix-update
Since this ebuild repository uses sync-type = git
the package dev-vcs/git needs to be installed. Alternatively, either eselect repository can be used for adding the repository.
From the ebuild repository, install the driver as shown here for Brother's Generic LPR and CUPSwrapper printer driver from the brother-overlay ebuild repository.
root #
emerge --ask net-print/brother-genml1-bin
brother-genml1-bin 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) (contains ELF 32-bit LSB executables)
- 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.
user $
/usr/sbin/lpinfo -m | grep -i brother
brother-BrGenML1-cups-en.ppd Brother BrGenML1 for CUPS
Alternative: rpm installation
As the drivers are available from Brother in the form of an .rpm file, the app-arch/rpm package needs to be installed.
root #
emerge --ask app-arch/rpm
Missing directories
Please create these directories up front; it will save a lot of trouble later:
root #
mkdir -p /var/spool/lpd
root #
mkdir -p /usr/lib64/cups/filter
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 .rpm 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 .rpm files are located.
Next, issue the following command to see the filenames:
root #
ls -a
. .. dcp750cwcupswrapper-1.0.1-1.i386.rpm dcp750cwlpr-1.0.1-1.i386.rpm
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.
root #
rpm -i --nodeps dcp750cwlpr-1.0.1-1.i386.rpm
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:
root #
rpm -i --nodeps --replacepkgs dcp750cwlpr-1.0.1-1.i386.rpm
Next install the cupswrapper driver the same way:
root #
rpm -i --nodeps dcp750cwcupswrapper-1.0.1-1.i386.rpm
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:
root #
rpm -i --nodeps --replacepkgs dcp750cwcupswrapper-1.0.1-1.i386.rpm
Do not forget the --replacepkgs option to force the re-installation of all the necessary files.
Copying the filter at the right place
Copy the filter to the right place with the following command:
Have a look at the feedback table at the top of this page to know more about the filter's name.
root #
cp /usr/lib64/cups/filter/brlpdwrapperdcp750cw /usr/libexec/cups/filter/
Note that for some printers (such as MFC-L3650CDW), it is important to copy this as a symlink, otherwise printing will not work. This can be done by adding --preserve
to the cp
command.
Installing the printer
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.
Networked printer detection
CUPS is capable of automatically detecting networked printers. In case it does not work it might be blocked by a firewall. As a workaround, temporarily connect the printer to the computer.
Use CUPS' web interface to install the printer
Using CUPS' web interface http://localhost:631/admin is quite self-explanatory. The Add Printer button will list the networked printer(s) starting at the Discovered Network Printers line.
Use command line to install the printer
The lpinfo command can be used in order to list all connected printers:
root #
lpinfo -v
network ipp network http network socket network https network ipps network lpd network lpd://BRW67890ABCDEF/BINARY_P1
Running lpinfo -l -v will give a more verbose output.
Add the printer with lpadmin using device uri and ppd file:
root #
lpadmin -p Brother_HL-L2340DW -E -v lpd://BRW67890ABCDEF/BINARY_P1 -m brother-BrGenML1-cups-en.ppd
In case of net-print/brlaser, the ppd files can be found in /usr/share/cups/drv/brlaser.drv.
user $
lpinfo -m
lsb/usr/cupsfilters/Fuji_Xerox-DocuPrint_CM305_df-PDF.ppd Fuji Xerox drv:///brlaser.drv/br1510.ppd Brother DCP-1510 series, using brlaser v6 drv:///brlaser.drv/br1600.ppd Brother DCP-1600 series, using brlaser v6 drv:///brlaser.drv/br7030.ppd Brother DCP-7030, using brlaser v6 drv:///brlaser.drv/br7040.ppd Brother DCP-7040, using brlaser v6 drv:///brlaser.drv/br7055.ppd Brother DCP-7055, using brlaser v6 drv:///brlaser.drv/br7055w.ppd Brother DCP-7055W, using brlaser v6 drv:///brlaser.drv/br7060d.ppd Brother DCP-7060D, using brlaser v6 drv:///brlaser.drv/br7065dn.ppd Brother DCP-7065DN, using brlaser v6 drv:///brlaser.drv/br7080.ppd Brother DCP-7080, using brlaser v6 drv:///brlaser.drv/br7080d.ppd Brother DCP-7080D, using brlaser v6 drv:///brlaser.drv/brl2500d.ppd Brother DCP-L2500D series, using brlaser v6 drv:///brlaser.drv/brl2520d.ppd Brother DCP-L2520D series, using brlaser v6 drv:///brlaser.drv/brl2540.ppd Brother DCP-L2540DW series, using brlaser v6 drv:///brlaser.drv/br1110.ppd Brother HL-1110 series, using brlaser v6 drv:///brlaser.drv/br1200.ppd Brother HL-1200 series, using brlaser v6 drv:///brlaser.drv/br2030.ppd Brother HL-2030 series, using brlaser v6 drv:///brlaser.drv/br2140.ppd Brother HL-2140 series, using brlaser v6 drv:///brlaser.drv/br2220.ppd Brother HL-2220 series, using brlaser v6 drv:///brlaser.drv/br2270dw.ppd Brother HL-2270DW series, using brlaser v6 drv:///brlaser.drv/br5030.ppd Brother HL-5030 series, using brlaser v6 drv:///brlaser.drv/brl2300d.ppd Brother HL-L2300D series, using brlaser v6 drv:///brlaser.drv/brl2320d.ppd Brother HL-L2320D series, using brlaser v6 drv:///brlaser.drv/brl2340d.ppd Brother HL-L2340D series, using brlaser v6 drv:///brlaser.drv/brl2360d.ppd Brother HL-L2360D series, using brlaser v6 drv:///brlaser.drv/br1910w.ppd Brother MFC-1910W, using brlaser v6 drv:///brlaser.drv/br7240.ppd Brother MFC-7240, using brlaser v6 drv:///brlaser.drv/br7360n.ppd Brother MFC-7360N, using brlaser v6 drv:///brlaser.drv/br7365dn.ppd Brother MFC-7365DN, using brlaser v6 drv:///brlaser.drv/brl2710.ppd Brother MFC-L2710DW series, using brlaser v6 drv:///sample.drv/dymo.ppd Dymo Label Printer drv:///sample.drv/epson9.ppd Epson 9-Pin Series drv:///sample.drv/epson24.ppd Epson 24-Pin Series drv:///generic-brf.drv/gen-brf.ppd Generic Braille embosser, 1.0 drv:///cupsfilters.drv/pwgrast.ppd Generic IPP Everywhere Printer drv:///sample.drv/generpcl.ppd Generic PCL Laser Printer lsb/usr/cupsfilters/Generic-PDF_Printer-PDF.ppd Generic PDF Printer
In this case the -m option to lpadmin should use the drv:///brlaser.drv/... entry as shown below as an example for Brother HL-L2340DW:
root #
lpadmin -p Brother_HL-L2340DW -E -v lpd://BRW67890ABCDEF/BINARY_P1 -m drv:///brlaser.drv/brl2340d.ppd
For further options see man 8 lpadmin.
Check the setup with lpstat:
user $
lpstat -d -l -t
no system default destination scheduler is running no system default destination device for Brother_HL-L2340DW: lpd://BRW1008B1372DF2/BINARY_P1 Brother_HL-L2340DW accepting requests since Fri 30 Oct 2015 05:36:25 PM CET printer Brother_HL-L2340DW is idle. enabled since Fri 30 Oct 2015 05:36:25 PM CET Form mounted: Content types: any Printer types: unknown Description: Brother_HL-L2340DW Alerts: none Location: Connection: direct Interface: /etc/cups/ppd/Brother_HL-L2340DW.ppd On fault: no alert After fault: continue Users allowed: (all) Forms allowed: (none) Banner required Charset sets: (none) Default pitch: Default page size: Default port settings:
Don't forget to set the user's default printer
user $
lpstat -a
Brother_HL-L2340D_series accepting requests since Fri 29 May 2015 09:11:30 AM CEST
user $
lpoptions -d Brother_HL-L2340D_series
copies=1 device-uri=http://192.168.178.27:631/ipp/port1 finishings=3 job-cancel-after=10800 job-hold-until=no-hold job-priority=50 job-sheets=none,none marker-change-time=1432883490 marker-colors=#000000,none marker-high-levels=100 marker-levels=-1,95 marker-low-levels=16 marker-names='Black\ Toner\ Cartridge,Drum\ Unit' marker-types=toner number-up=1 printer-commands=AutoConfigure,Clean,PrintSelfTestPage printer-info='Brother HL-L2340D series' printer-is-accepting-jobs=true printer-is-shared=false printer-location='Local Printer' printer-make-and-model='Brother BrGenML1 for CUPS ' printer-state=3 printer-state-change-time=1432883490 printer-state-reasons=none printer-type=10522644 printer-uri-supported=ipp://localhost/printers/Brother_HL-L2340D_series
Installing the scanner
Prerequisites
Make sure the media-gfx/sane-backends 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 media-gfx/sane-backends package will be pulled in as a dependency.
root #
emerge --ask media-gfx/xsane
Installing the driver
Some of Brother scanners are supported by media-gfx/sane-airscan package. This is an open source "universal vendor-neutral" driver and allows accessing IPP scanners via either of eSCL or WSD protocol. See the homepage of the package for list of scanners which were reported to work. Scope of feature support (e.g. resolution) depends on set of IPP attributes published by the scanner.
Some of Brother scanners are supported by media-gfx/sane-backends package, by selecting the "escl" backend. This open source driver is also using eSCL protocol, like "sane-airscan". Therefore it seems to show comparable limitations (e.g. maximum resolution). From code, it look as if it supports also PDF format in addition to JPEG format (both mandatory for eSCL/2.0 scanners). See sane issue discussion thread for an ongoing discussion of differences between "builtin escl" and "sane-airscan": https://gitlab.com/sane-project/backends/-/issues/202
Some of Brother scanners are supported by media-gfx/brscan4 package. This contains the proprietary binary Brother scanner driver. That can also be installed manually as rpm (see below). This driver does not seem to use eSCL, but accesses e.g. printer TCP port 54921 with some simple proprietary protocol for selecting configuration. Therefore, it is often able to allow higher resolutions.
Brother also seems to offer a newer proprietary brscan5 driver (no Gentoo package known yet, bug #833603). At least for some scanners, brscan5 seems to provide additional specific options (e.g. "auto deskew"). Obviously, brscan5 optionally uses more advanced protocol, still on same TCP port 54921, at least for scanners supporting this. However, details (e.g. differences in feature set, device backward compatibility) are unknown.
Finally, there are/were also ongoing efforts (e.g. github repositories) for open source driver using the proprietary port 54921 protocol. As those are unfinished and may have legal problem that the license of at least some proprietary driver versions may disallow traffic reverse engineering, it is not worth to try those out as of now.
Alternative: rpm installation
Download the driver from the Brother Solutions's download page for the scanner.
Pay attention to the family the printer belongs to. Depending on the family, the right brscan will need to be selected (brscan, brscan2, brscan3) as well as the right architecture (32 bits or 64 bits depending on the system installation).
Change to the directory where the downloaded drivers are, and run the following command:
root #
ls -a
This will show the file names of the downloaded files, allowing for easy copy/paste for the next commands.
Install the drivers using rpm:
root #
rpm -i --nodeps brscan2-0.2.5-1.x86_64.rpm
If xsane was not installed yet, install it, then add
--replacepkgs
as an option to the previous command to reinstall the driver.Configuring the scanner for network access
This step can be skipped if only local scanning via USB is needed. The necessary drivers are already installed through the brscan RPM package.
Once the driver is correctly installed, use the following command:
root #
brsaneconfig2 -a name=monScanner model=DCP-750CW ip=192.168.1.13
brsaneconfig2 should be replaced with the command corresponding to the printer's family (see above), monScanner with any name of personal choice, and DCP-750CW with the printer's model name.
Now check everything is correctly installed:
root #
brsaneconfig2 -q | grep monScanner
0 monScanner "DCP-750CW" I:192.168.1.13
Replace monScanner with the name chosen above.
Congratulation! The scanner is now ready for use!
Troubleshooting
Generic LPR printer driver on amd64 no-multilib
The printer driver uses statically compiled x86 32-bit binaries. To be able to execute them the kernel needs to have the following configuration enabled: IA32_EMULATION.
Further, the binaries from Brother (rawtobr3 and brprintconflsr3) require two 32-bit glibc library files in order to be executed on a 64-bit system. These can be compiled by the user, or — even easier — obtain a pre-compiled version (glibc i686) from rpmfind.net or similar site.
To accomplish the latter, first install the rpm utilities:
root #
emerge rpm
Next, create a /usr/local/lib32 directory if it doesn't exist:
root #
mkdir /usr/local/lib32
Move the downloaded rpm file into a temporary directory and convert to a simpler tar file:
root #
rpm2tar glibc-2.25-12.fc26.i686.rpm
Extract the tar file in the temporary directory:
root #
tar -xvf glibc-2.25-12.fc26.i686.tar
A lib/ subdirectory should be created containing the libraries. Copy them to the /usr/local/lib32 directory on the system.
root #
cp lib/* /usr/local/lib32
Under /usr/local/lib32, only the libc.so.6 file is needed, but since there may be symlinks, it's easier to copy them all. Run the 'file' command on libc.so.6 to ensure it is an ELF 32-bit format. If not, install the correct version:
root #
file /usr/local/lib32/libc.so.6
Finally, copy ld-linux.so.2 into the main /usr/local/lib directory.
root #
cp /usr/local/lib32/ld-linux.so.2 /usr/local/lib
Two perl wrapper/filter scripts that are provided with the Brother drivers need to be changed as well to instruct these binaries to load the 32-bit libraries, not the default 64-bit ones. First, locate and edit the two files (replace YOURPRINTER with the printer name provided during the Brother installation script execution):
root #
nano filter_YOURPRINTER
root #
nano brother_lpdwrapper_YOURPRINTER
For instance, for the MFCL2680W printer:
root #
nano /opt/brother/Printers/MFCL2680W/lpd/filter_MFCL2680W
root #
nano /opt/brother/Printers/MFCL2680W/cupswrapper/brother_lpdwrapper_MFCL2680W
At the top of each file, below the comment header, add the following line:
$ENV{LD_LIBRARY_PATH} = "/usr/local/lib32";
This sets the default library path before the scripts execute the binaries. rawtobr3 processes the print data and brprintconflsr3 processes the page formatting data. Once all of these instructions have been successfully performed, the printer should work as intended!
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:
root #
brprintconf_dcp750cw -pt A4
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 dev-libs/libusb-compat.
root #
emerge --ask dev-libs/libusb-compat
Contrary to what the name suggests, this may even be required if the scanner is used over the network. It is known to be required for these models even when they are used over the network instead of through a direct USB connection:
- DCP-1610WE
- MFC-9120CN
- MFC-9142CDN
External resources
- Brother solutions, Linux page on Brother.com
- brother-overlay on GitHub.com
- Using Network Printers Documentation by CUPS.org