3

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
1

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.

  • Thanks! I considered this, unfortunately it's currently not an option, but may come in handy later. Am I right “via LAN” means you connect the printer to a router instead of connecting it directly to the computer? – dessert Sep 21 '17 at 16:07
  • 1
    Yes. You are correct connecting to the router or switch on your network and setting a static IP should resolve the issue entirely. Your model Brother has a LAN port as does mine. Connecting in that fashion eliminated any issues for me. – Elder Geek Sep 21 '17 at 16:12
1

I came up with a unsatisfactory solution by reading this carefully: For me on a Lenovo Thinkpad X240 it's not working with USB 3.0. I disabled USB 3.0 support in my BIOS and suddenly it worked just fine. However, of course by doing that all USB ports on the machine are just as fast as USB 2.0 now - apparently one has to make a decision here, or be okay with changing the BIOS setting every time one want to scan or rather use USB 3.0 functionality.

0

This solution How do I make the scanner function of my Brother DCP-315CN work? worked for me after upgrading from Ubuntu Mate x32 to x64, installing the brscan drivers from support.brother.com and adding the corresponding line to libsane.rules

sudo cp /usr/lib64/libbrscandec2* /usr/lib
sudo cp /usr/lib64/libbrcolm2* /usr/lib
sudo cp /usr/lib64/sane/libsane-brother2* /usr/lib/sane
  • Thanks, but my question states that I already tried all of that. – dessert Sep 21 '17 at 10:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.