How to install a Brother printer on Linux

Question: I have a Brother HL-2270DW laser printer, and want to print documents from my Linux box using this printer. How can I install an appropriate Brother printer driver on my Linux computer, and use it?

Brother is well known for its affordable compact laser printer lineup. You can get a high-quality WiFi/duplex-capable laser printer for less than 200USD, and the price keeps going down. On top of that, they provide reasonably good Linux support, so you can download and install their printer driver on your Linux computer. I bought HL-2270DW model more than a year ago, and I have been more than happy with its performance and reliability.

Here is how to install and configure a Brother printer driver on Linux. In this tutorial, I am demonstrating the installation of a USB driver for Brother HL-2270DW laser printer. So first connect your printer to a Linux computer via USB cable.


In this preparation step, go to the official Brother support website, and search for the driver of your Brother printer by typing printer model name (e.g., HL-2270DW).

Once you go to the download page for your Brother printer, choose your Linux platform. For Debian, Ubuntu or their derivatives, choose "Linux (deb)". For Fedora, CentOS or RHEL, choose "Linux (rpm)".

On the next page, you will find a LPR driver as well as CUPS wrapper driver for your printer. The former is a command-line driver, while the latter allows you to configure and manage your printer via web-based administration interface. Especially the CUPS-based GUI is quite useful for (local or remote) printer maintenance. It is recommended that you install both drivers. So click on "Driver Install Tool" and download the installer file.

Before proceeding to run the installer file, you need to do one additional step if you are using a 64-bit Linux system.

Since Brother printer drivers are developed for 32-bit Linux, you need to install necessary 32-bit libraries on 64-bit Linux as follows.

On older Debian (6.0 or earlier) or Ubuntu (11.04 or earlier), install the following package.

$ sudo apt-get install ia32-libs

On newer Debian or Ubuntu which has introduced multiarch, you can install the following package instead:

$ sudo apt-get install lib32z1 lib32ncurses5

which replaces ia32-libs package. Or, you can install just:

$ sudo apt-get install lib32stdc++6

If you are using a Red Hat based Linux, you can install:

$ sudo yum install glibc.i686

Driver Installation

Now go ahead and extract a downloaded driver installer file.

$ gunzip linux-brprinter-installer-2.0.0-1.gz

Next, run the driver installer file as follows.

$ sudo sh ./linux-brprinter-installer-2.0.0-1

You will be prompted to type a printer model name. Type the model name of your printer, for example "HL-2270DW".

After agreeing to GPL license agreement, accept default answers to any subsequent questions.

Now LPR/CUPS printer drivers are installed. Proceed to configure your printer next.

Printer Configuration

We are going to configure and manage a Brother via CUPS-based web management interface.

First, verify that CUPS daemon is running successfully.

$ sudo netstat -nap | grep 631

Open a web browser window, and go to http://localhost:631. You will see the following CUPS printer management interface.

Go to "Administration" tab, and click on "Manage Printers" under Printers section.

You must see your printer (HL-2270DW) listed in the next page. Click on the printer name.

In the dropdown menu titled "Administration", choose "Set As Server Default" option. This will make your printer system-wide default.

When asked to authenticate yourself, type in your Linux login information.

Now the basic configuration step is mostly done. To test print, open any document viewer application (e.g., PDF viwer), and print it. You will see "HL-2270DW" listed and chosen by default in printer setting.

Print should work now. You can see the printer status and manage printer jobs via the same CUPS web interface.

Download this article as ad-free PDF (made possible by your kind donation): 
Download PDF

Subscribe to Ask Xmodulo

Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.

Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

6 thoughts on “How to install a Brother printer on Linux

  1. I have an HL-2140 USB printer. Installation under Mint was easy, driver download was not needed because the driver was already in CUPS. But it didn't work, until I installed the package 'printer-driver-hpijs'. Check CUPS error log. I have no idea why that package was left out of Mint.

  2. I own (2) Brother MFC (Multifunction) laser printers and they have never been difficult to install. All but 1 that I have installed in last few years were auto-detected under Ubuntu, Mint Cinnamon and Fedora 21. Even the wifi versions work well.

  3. Brother's website should have PPD file download available, though, I haven't found a Brother that Linux did not support, yet. Just install it through the printer manager interface of your liking. I usually use network printers, usb hosted printers may need more drivers.

  4. I have been trying for weeks to get my Brother printer to work with my Linux PC and failed miserably. Having found this invaluable guidance I have installed the programs and got the printers to work fully on three Linux PCs all in under 30 minutes.
    Thank you!

  5. Thank you. After trying a couple different methods to add the Brother 2270DW from other boards/web sites, yours works perfectly. FWIW I'm running Linux Mint 17.3 Cinnamon 64-bit

  6. Using Linux Mint Cinnamon 17.3
    My printer is a Brother MFC-8670DN, located on my LAN at with a static address. I'm far from a newbie with Linux, but I do find issues with random things I don't know about.

    First, the step "verify that CUPS daemon is running successfully:
    $ sudo netstat -nap | grep 631 " returns nothing. What should it return? Does nothing mean cups is running, or that cups is not running?

    Second, and this has got me completely at a loss to get past:

    Open a web browser window, and go to http://localhost:631.

    The only browser I can find is Firefox. Ok, that's what I am accustomed to. When I put in the above, I get 'unable to connect' Why? Editing /etc/hosts.allow and /etc/hosts.deny doesn't indicate anything. It isn't set to deny:all.

    I seem to sporadically print a test page, so I guess that's something.

    How do I setup for scanning?

Leave a comment

Your email address will not be published. Required fields are marked *