Brother ネットワークプリンタ

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Brother networked printer and the translation is 53% complete.

このドキュメントでは、Brother 製プリンタのインストールについて説明します。




Printer model Printer driver Printer? Scanner? Remarks
DCP-J785DW RPMs from Brother web site Works! Works! Connected by USB
DCP-750CW ? Works! Works! No remark
DCP-1610WE ? Works! TBD After WPS configuration printer used Zeroconf instead of DHCP!
DCP-7055W ? Works! Works! No remark
DCP-7070DWR net-print/brother-genml1-bin from brother-overlay Works! Works! Printer works through ipp, but not through lpd protocol. Scanner driver: brscan4
DCP-J100 RPMs from Brother website Works! Works! Scanner driver media-gfx/brother-dcpj100-bin from brother-overlay
DCP-J140W driverless — Alternatively, RPMs from Brother website can be used Works! Works! Please use Brother's Driver Install Tool to install printer and scanner functionality. You can download the install tool here:

Run via [root]# sh linux-brprinter-installer-<version> DCP-J140W

When it asks for DeviceURI, if you have a networked printer, you may have to specify the specific IP address of the printer.

The Brother printer installer script may not properly create /usr/libexec/cups/filters/brlpdwrapperdcpj140w. To get this file, first download the DCP-J140W driver source code from the Brother webpage (the same page that also provides the driver scripts). Then, after you gunzip and tar -xf the file, find the cupswrapperdcpj140w file. Inside that script is a "cat" command that creates brlpdwrapperdcpj140w. Copy and paste that manually to /usr/libexec/cups/filter/brldpwrapperdcpj140w. Then, just for safe measure, copy and paste (or symlink) the contents of /usr/libexec/cups/filters/ to /usr/lib64/cups/filter/. Once done, re-modify the printer through CUPS, and printing should work.

Scanner only works after emerging dev-libs/libusb-compat. Thanks to i92guboj for discovering this and posting it on the Gentoo Forums.

DCP-9020CDW net-print/brother-dcp9020cdw-bin in brother-overlay Works! Works! Works over network. Scanner driver media-gfx/brother-dcp9020cdw-bin with media-gfx/brother-scan4-bin from brother-overlay
HL-2240 ? Works! n/a [1] Not networked printer
HL-L2340DW driverless Works! n/a Alternatively any of net-print/brlaser (release >=6) and net-print/brother-genml1-bin from brother-overlay can be used. Both also work.
HL-L2350DW net-print/brother-genml1-bin from brother-overlay Works! n/a No remark
HL-L2380DW net-print/brother-genml1-bin from brother-overlay Works! n/a No remark
HL-L3210CW driverless Works! n/a No remark
MFC-J4410DW Works! Works! Filter to copy is at /opt/brother/Printers/mfcj4410dw/lpd/filtermfcj4410dw but scanner not detected by xsane at the moment.
MFC-J870DW net-print/brother-mfcj870dw in ulm overlay Works! Works! Scanner driver media-gfx/brscan4 in Gentoo repository
MFC-J5910DW ? 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 Works! Works!
MFC-9320CW net-print/brother-mfc9320cw-bin from brother-overlay Works! Works! No remark
MFC-9330CDW net-print/brother-mfc9330cdw-bin from brother-overlay 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 Works! Works!
HL-4570CDW net-print/brother-hl4570cdw-bin from brother-overlay Works! n/a No remark
MFC-7460DN ? Works! unknown No remark
DCP-7060D, DCP-7065DN, DCP-8080DN, DCP-L2520DW, DCP-L2540DW, HL-2230, HL-2240, HL-2240D, HL-2270DW, HL-2280DW, HL-5370DW/HL-5370DWT, HL-5440D, HL-5450DN, HL-5470DW, HL-6180DW, HL-L2320D, HL-L2360DW, HL-L2380DW, MFC-7360N, MFC-7460DN, MFC-7860DW, MFC-8480DN, MFC-8510DN, MFC-8710DW, MFC-8890DW, MFC-8910DW, MFC-8950DW, MFC-L2700DW, MFC-L2720DW, MFC-L2740DW net-print/brother-genml1-bin from brother-overlay Works! unknown No remark
MFC-8950DW ? Works! Works! Filter to copy is at /opt/brother/Printers/MFC8950DW/lpd/filter_MFC8950DW
MFC-5890CN ? Works! Works! scanner config command brsaneconfig3
MFC-9970CDW ? Works! unknown
MFC-9140CDN ? Works! Works! scanner requires dev-libs/libusb-compat to work (see section Common Troubles)
MFC-J5620DW Brother linux-brprinter-installer-2.0.0-1 Works! Works! installs nicely but needed dev-libs/libusb-compat to work. Maybe 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 brother-mfcj480dw driver in andy ebuild repository Works! Works! Scanner driver media-gfx/brscan4 in andy ebuild repository
MFC-J6710DW brother-mfcj6710dw driver in brother-overlay ? ? See Printer_mfcj6710dw
MFC-J6720DW mfcj6720dwlpr and brscan4 Works! Works! Needs dev-libs/libusb-compat even for network scanning. Did not test USB, only network.
MFC-9130CW RPMs from Brother website + brscan4 from brother-overlay 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 Brother MFC-9120CN CUPS (color) (Official driver from Brother website) Works! Works! Filter to copy is at /usr/lib64/cups/filter/brlpdwrappermfc9120cn. Scanner requires dev-libs/libusb-compat even if used over network. Scanner config command is brsaneconfig3.
MFC-9560CDW net-print/foomatic-db Brother MFC9840CDW Foomatic/Postscript works, but duplex is not available works with media-gfx/brother-mfc9560cdw-bin from brother-overlay Official mfc9560cdw.ppd downloaded from Brother does NOT work
MFC-9142CDN Brother MFC-9142CDN CUPS (color, 2-sided printing) (official driver from Brother website) Works! Works! Filter to copy is at /usr/lib64/cups/filter/brother_lpdwrapper_mfc9142cdn. Scanner requires dev-libs/libusb-compat even if used over network. Scanner config command is brsaneconfig4.
HL-3170CDW Official Brother-hl3170cdw RPM Drivers Works! N/A Right after copying the filter, printer was 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 you 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; cp /usr/lib64/cups/filter/brother_lpdwrapper_hl3170cdw /usr/libexec/cups/filter/
Finish up with /etc/init.d/cupsd restart

HL-3180CDW media-gfx/brother-hl3180cdw-bin from brother-overlay Works! Works! Filter to copy is at /opt/brother/Printers/mfc9320cw/lpd/filtermfc9320cw. Scanner config command is brsaneconfig4.
MFC-J6510DW Official Brother-mfc6510dw RPM Drivers Works! not tested No remark
QL-700 Official Brother ql700pdrv-3.1.5-0.i386.rpm rpm drivers Works! Connected by USB. See Gentoo forum thread regarding installation
MFC-L2710DN Official Brother-MFC-L2710DN RPM Drivers Works! Works! Installation of Avahi and sudo were needed 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 Works! Works! To add scanner, run brsaneconfig4, works like a charm with Plasma Skanlite. For CUPS printing you will need Avahi running and change printer hostname to end with .local - ie. BRNB422000E9552.local



net-print/cups がインストールされていることを確認してください:

root #emerge --ask net-print/cups

ドライバをインストールする前に、cups サービスが起動している必要があります。


OpenRC を使用している場合は、次のコマンドを実行することで cups サービスを起動することができます。

root #/etc/init.d/cupsd start

ブート時に自動的に起動させるには、rc-update を使ってください:

root #rc-update add cupsd default

systemd を使用している場合は、次のコマンドを実行することで cups サービスを起動することができます。

root #systemctl start cups.service


root #systemctl enable cups.service



CUPS プリンタドライバおよびバックエンドは非推奨で、将来の CUPS の機能リリースではサポートされなくなるでしょう。
プリンタドライバなしでやる方法については、driverless printing を確認してください


多くの Brother 製プリンタを含む各社のプリンタに対応している、サードパーティのドライバです。

root #emerge --ask net-print/gutenprint[ppds]



幅広い Brother プリンタに対応するサードパーティのプリンタドライバが net-print/brlaser です。

root #emerge --ask net-print/brlaser


ebuild リポジトリのドライバを使う

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".

ebuild リポジトリを有効化するには、適切な repos.conf ファイルを作成して、リポジトリを emaint sync してください。brother-overlay ebuild リポジトリでこれを行う例を次に示します:

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 or layman 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 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

代替案: rpm インストール

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 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.



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.


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.

CUPS の web インターフェースを使用してプリンタをインストールする

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.


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
        Connection: direct
        Interface: /etc/cups/ppd/Brother_HL-L2340DW.ppd
        On fault: no alert
        After fault: continue
        Users allowed:
        Forms allowed:
        Banner required
        Charset sets:
        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= 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



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


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 or brscan4) 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=
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:
Replace monScanner with the name chosen above.

Congratulation! The scanner is now ready for use!


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 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 file is needed, but since there may be symlinks, it's easier to copy them all. Run the 'file' command on to ensure it is an ELF 32-bit format. If not, install the correct version:

root #file /usr/local/lib32/

Finally, copy into the main /usr/local/lib directory.

root #cp /usr/local/lib32/ /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:

コード Use 32-bit libraries in filter and wrapper scripts

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