Ubuntu – Installing Brother scanner MFC-7225N in Ubuntu 16.04

brotherdriversscannerudev

I tried to install my Brother MFC-7225N scanner in Lubuntu 16.04 64 bit following the instructions here, but I only get the error “Invalid argument”.

What I did

  • install the driver brscan2-0.2.5-1.amd64.deb as well as the scan-key-tool brscan-skey-0.2.4-1.amd64.deb and the udev rule package brother-udev-rule-type1-1.0.0-1.all.deb from here
  • add the following lines to /lib/udev/rules.d/60-libsane.rules, trying one at a time:

    ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="0186", MODE="0660", GROUP="scanner", ENV{libsane_matched}="yes"
    ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="0186", MODE="0664", GROUP="scanner", ENV{libsane_matched}="yes"
    ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="0186", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"
    
  • copy files over:

    sudo cp /usr/lib64/sane/* /usr/lib/sane/
    sudo cp /usr/lib64/libbr* /usr/lib/
    
  • create brother.conf files:

    echo -e "/usr/lib64\n/usr/lib64/sane" | sudo tee /etc/ld.so.conf.d/brother.conf && sudo ldconfig
    echo "usb 04f9 0186" | sudo tee /etc/sane.d/brother.conf
    
  • run the setup program:

    sudo /usr/local/Brother/sane/setupSaneScan2 -i
    

What I get

> brscan-skey

> brscan-skey -l
 MFC-7225N         : brother2:bus2;dev1  : USB                  Active

> scanimage -L
device `bus2;dev1' is a Brother MFC-7225N USB scanner

> scanimage -T
scanimage: open of device bus2;dev1 failed: Invalid argument

> simple-scan -d
…
[+5,91s] DEBUG: simple-scan.vala:404: Requesting scan at 300 dpi from device 'bus2;dev1'
[+5,91s] DEBUG: scanner.vala:1560: Scanner.scan ("bus2;dev1", dpi=300, scan_mode=ScanMode.COLOR, depth=8, type=ScanType.SINGLE, paper_width=0, paper_height=0, brightness=0, contrast=0)
[+5,91s] DEBUG: scanner.vala:803: Processing request
[+5,91s] DEBUG: scanner.vala:864: sane_open ("bus2;dev1") -> SANE_STATUS_INVAL
[+5,91s] WARNING: scanner.vala:868: Unable to get open device: Invalid argument
…

Some more information

> lsusb
…
Bus 002 Device 004: ID 138a:0017 Validity Sensors, Inc. Fingerprint Reader
Bus 002 Device 009: ID 04f9:0186 Brother Industries, Ltd Composite Device
…

> sudo sane-find-scanner
…
found USB scanner (vendor=0x138a, product=0x0017) at libusb:002:004
found USB scanner (vendor=0x04f9, product=0x0186) at libusb:002:009
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
…

> cat /etc/sane.d/dll.conf
…
brother2
…

> cat /etc/sane.d/brother.conf
usb 04f9 0186

Best Answer

Rather than downgrading your USB functionality why not consider connecting the Brother MFC-7225N via the LAN? That's what I did here when I too had difficulty scanning over USB with a Brother DCP-7065DN and it's been working famously ever since. Working with currently supported LTS versions.