Installing a Brother Network MFC or Scanner On Ubuntu 17.10

Jim Avera (jim.avera at gmail dot com). Updated 15 January 2018

Brother's "Driver Install Tool" fails to install scanner functionality becuase of a missing dependency. The brscan4 package requires libusb but there is no package with that name in Ubuntu 17.10. There is, however, a libusb-1.0-0 which seems to work; however the incompatible name change means that the dependency coded into the brscan4 package prevents normal installation.

It worked for me to use Brother's "Driver Install Tool", then manually force-install brscan4 and configure the scanner using brsaneconfig4.

The libusb-1.0-0 package is also needed, and it was included in a fresh install of Ubuntu 17.10 using only the standard repos. However my personal desktop system, which has a more complicated history, was lacking that package for some reason (possibly because of the repositories I enabled). I had to manually install it.

Brother documents a litany of manual setup tasks here , but they are unnecessary when using the "Driver Install Tool".

Here is the complete procedure:

  1. Assign a static ip address to your network MFC or scanner.
    Auto-detection doesn't always work, or may take a long time to find devices. A static IP bypasses such problems.

    A network printer/scanner normally gets its IP address from your router each time it boots, using the DHCP protocol. There are two ways to use a "static" IP address:

    Router-supported "permanent" DHCP assignment
    Some routers allow an IP address assigned by DHCP to be marked as "permanent", i.e., the same IP will be given to that device (MAC address) in the future. No special configuration of the printer/scanner itself is needed -- it still requests a new IP via DHCP each time it boots, but always gets the same value.

    Manual IP assignment
    Just pick any legal IP which is outside the DHCP range and isn't otherwise used, and manually configure the printer/scanner to use that IP instead of invoking DHCP. Initially the only non-DHCP address to avoid is the Router's own address on the LAN (the "Gateway" address) and the special addresses .0 and .255. The legal range of IP addresses is determined by the "Subnet Mask". Example: My NAT router is configured with Subnet Mask 255.255.255.0, "Gateway" 192.168.1.1 and DHCP range 192.168.1.100 - 192.168.1.199. In this example, 192.168.1.2 through .99 and .200 through .254 are available for use as static IPs.

    Most routers have a management web interface at http://«gateway ip» . "route -n" will show the «gateway ip».

  2. Download Brother's "Driver Install Tool"

    Visit http://www.brother-usa.com/support/
    Search for «printer model»
    Select "Linux (deb)"
    Click "Driver Install Tool"
    Agree to EULA, then SAVE the downloaded file

  3. Install Drivers (partially fails)

    $ cd $HOME/Downloads # wherever you saved it
    $ gunzip linux-brprinter-installer-*.*.*-*.gz
    $ sudo bash linux-brprinter-installer-
    whatever

    When asked "Will you specify the Device URI?" reply Y.
    Select the option# for "Specify IP address"
    Enter the MFC's static IP address

    The scanner driver will fail to install because of the missing dependency, but this will be fixed later.

  4. Finish Configuring the Printer

    Visit http://localhost:631
    Click "Printers" in the top banner, then your printer name
    Administration->Set as Server Default (if desired)
    Enter your username & pw when prompted

  5. Reboot

    This may not be necessary now, but in earlier Ubuntu releases, CUPS was left in a bad state and/or multiple copies of the cupsd daemon were running.

  6. Manually Install Scanner Driver

    Note: My MFC needs package brscan4, but older devices might need brscan, brscan2, or brscan3 instead; Brother's Driver Install Tool will download the correct .deb for your device. The utility installed will be called brsanconfig2, etc.

    $ cd $HOME/Downloads  # wherever you ran the Driver Install Tool.
    (The brscan4*.amd64.deb file should have been left there.)

    $ sudo dpkg -i --force-all brscan4-whatever.amd64.deb

    $ sudo brsaneconfig4 -a name=
    «Friendly Name» model=«model name» ip=«static ip addr»
    (None of the parameters, including «Friendly Name», may have embedded spaces)

    $ scanimage -L

    Your scanner should now be detected!

    But if not, try this:

    $ dpkg-query -l '*libusb*'

    If libusb-something is not shown as installed, then:

    $ sudo apt-get install libusb-1.0-0

    Now "scanimage -L" should work.