Brother Scanner Driver Installation in Ubuntu 9.10 (Updated)

UPDATE (03/15/2011): According to the comments posted by two readers, Ludovic and Don1, the snippet in this post also applies to Ubuntu 10.10 (Maverick Meerkat), but make sure to change “SYSFS” to “ATTRS”. For the original snippet, read the post below. Note that I’m still using Ubuntu 10.04 because there’s no WebDAV support even with the upcoming 11.04, so I can’t verify the code myself. For the original comments, scroll down to the comments section of this post.

UPDATE (08/31/2010): The solution in this post appears to only work in Ubuntu 9.10. I haven’t have any success with the scanner running in non-root environment since I upgraded to 10.04. This bug however is not very popular. Its launchpad page can be found here.

UPDATE (07/08/2010): Changed the last line to single equal sign. It doesn’t work with the double equal signs. Check out the updated post below for more detail.

UPDATE (05/01/2010): I recently discovered that I can use wild-card characters such as * and ? in the command line to easily find and execute/edit the file. See step 5 of this post for more information about how to use these special characters to find the libsane.rules file.

I haven’t used my Brother-based multifunction printer since I switched to Ubuntu. When I need to use the scanner function of my MFC-7420 printer to scan a document, I just found out that I have to install this printer and its scanner driver. I was surprised to know that there are already drivers for my Brother printer available in the repository and waiting to be installed. I installed the printer driver and downloaded the scanner driver for my printer device from the Brother website.

After I installed the scanner driver, I thought that it should automatically detect scanner by Ubuntu. However, it didn’t detect my scanner at all during the starting of the XSane Image Scanner. I then tried to run it through the root account and the program detected the scanner without problem.

I decided to find a way to use the scanner under non-root account. After I searched around online, I found out a post from Ubuntu forum that discusses about the same issue. Unfortunately, it is for the older version of Ubuntu. While following the tutorial and digging around, I discovered that the location of libsane rules file is different from the tutorial, as well as the format of the rules. After I looked through this tutorial, I revised it to fit the version of Ubuntu that I currently installed which is the stable version 9.10:

  1. Download the Linux driver for your scanner from Brother Linux driver download page (.deb is for Debian-based distros, and .rpm is for Fedora-based distros).
  2. Download the appropriate packages and install them to your system.
  3. Open up the terminal and type lsusb command into the command line to see a list of USB devices that have connected to your system.
  4. Record the Vendor ID and Product ID of your Brother device from the list, the following is the sample format of the list (the basic format is Vendor-ID:Product-ID):

    Bus 001 Device 003: ID 04f9:018c Brother Industries, Ltd

  5. Using either Vim or gedit to open /lib/udev/rules.d/40-libsane.rules file as root.

    NOTE: The number in front of the libsane.rules might not be 40, so please check with the content inside /lib/udev/rules.d directory using the command ls /lib/udev/rules.d and look for the libsane file.

    UPDATE: Or you could simply enter vim /lib/udev/rules.d/*libsane* or gedit /lib/udev/rules.d/*libsane* into the command line.

  6. After the file is opened, you need to add the following lines before the last comment (at the bottom part of the file):

    # Brother “Your scanner module

    SYSFS{idVendor}==”Vendor ID“, SYSFS{idProduct}==”Product ID“, ENV{libsane_matched}=”yes”

    Update (07/08 2010): I changed the last line to ENV{libsane_matched}=”yes”. It doesn’t work with the double equal signs.

    Replace “Your scanner module” with your scanner module number (without quote, for example: MFC-7420) and replace “Vendor ID” and “Product ID” with the Vendor ID and Product ID that you recorded earlier (with quotes for both fields, for example: “04f9” for Vendor ID and “018c” for Product ID).

  7. Finally restart your system and XSane Image Scanner and other programs that using Sane should detect the scanner with normal user account.

If you have any problem after completing the above steps, please leave a comment below. I will help you as possible as I can.

There are 13 comments

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

Protected with IP Blacklist CloudIP Blacklist Cloud