4

I have two network/USB all-in-ones that are in separate networks, Brother MFC-7840W and Brother MFC-9840CDW. The operating system is Ubuntu 14.04 LTS on a x86_64 system. USB works for printing and scanning for both. Network access used to work for printing and scanning for both units.

Now, network printing works on the MFC-9840CDW, but does not work on the MFC-7840W, and network scanning does not work on either. There have been some recent OS auto-updates and I've installed/un-installed several software programs. But I haven't changed the driver for the scanners and printers, so I'm unaware of any apparent reason it has suddenly stopped working.

How can I regain network access for scanning on my Brother all-in-ones?

Here are the actions I've taken:

In the terminal, I enter the command:

scanimage --list-devices

which outputs:

[pixma] udp_command: No data received (select): timed out  
[pixma] udp_command: No data received (select): timed out  
[pixma] udp_command: No data received (select): timed out  
[pixma] Cannot read scanner make & model: *��  
device 'brother3:net1;dev1' is a Brother MFC-9840CDW Scanner-MFC-9840CDW  
device 'brother3:net1;dev0' is a Brother MFC-7840W Scanner-MFC-7840W  

It seems that the devices are connected.

To test the device, I enter the command:

scanimage --test 'brother3:net1;dev0'  

which outputs:

[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] Cannot read scanner make & model: a�i$
<b>scanimage: open of device brother3:net1;dev1 failed: Invalid argument  

...Why isn't the MFC-7840W device (brother3:net1;dev0) showing?...

Then, I open the file: /usr/local/Brother/sane/brsanenetconfig3.cfg, which outputs the following two lines:

DEVICE=Scanner-MFC-7840W , "MFC-7840W" , 0x4f9:0x1e5 , NODENAME=BRN904CE598109B  
DEVICE=Scanner-MFC-9840CDW , "MFC-9840CDW" , 0x4f9:0x1cc , NODENAME=BRW29571E  

I think the 2nd line may be causing my problem, so I comment it out:

DEVICE=Scanner-MFC-7840W , "MFC-7840W" , 0x4f9:0x1e5 , NODENAME=BRN904CE598109B  
#DEVICE=Scanner-MFC-9840CDW , "MFC-9840CDW" , 0x4f9:0x1cc , NODENAME=BRW29571E  

Then, I return to the terminal and re-enter the command:

scanimage --test 'brother3:net1;dev0'  

which outputs:

[pixma] udp_command: No data received (select): timed out  
[pixma] udp_command: No data received (select): timed out
[pixma] udp_command: No data received (select): timed out
[pixma] Cannot read scanner make & model: q*& 
scanimage: open of device brother3:net1;dev0 failed: Invalid argument  

Why is there an "Invalid argument"?

Then, I enter the command:

dpkg -l | grep Brother  

which outputs:

ii  brmfc7840wlpr            2.0.2-1   i386   Brother  MFC-7840W  LPR       driver
ii  brother-udev-rule-type1  1.0.0-1   all    Brother  udev       rule      type     1
ii  brscan-skey              0.2.4-1   amd64  Brother  Linux      scanner   S-KEY    tool
ii  brscan3                  0.2.11-5  amd64  Brother  Scanner    Driver
ii  cupswrappermfc7840w      2.0.2-1   i386   Brother  MFC7840W   CUPS      wrapper  driver
rc  libsane-dsseries         1.0.5-1   amd64  Brother  DS-series  scanners  driver
ii  mfc9840cdwcupswrapper    1.0.3-1   i386   Brother  CUPS       Color     laser    Printer      Definitions
ii  mfc9840cdwlpr            1.0.3-1   i386   Brother  lpr        Inkjet    Printer  Definitions
ii  printer-driver-ptouch    1.3-8     amd64  printer  driver     Brother   P-touch  label        printers  

What could/should I do to gain access to my Brother MFC-7840W network scanner?

UPDATE 1: Based on comments, I copied the files libsane-brother* and libbrscandec* to the folders /usr/lib/sane and /usr/lib.

To test the device, I enter the command:

scanimage --test 'brother3:net1;dev0'  

which outputs:

scanimage: open of device brother3:net1;dev0 failed: Invalid argument  

It seems I'm a step closer to the solution, but the MFC-7840W device (brother3:net1;dev0) is still not working.

UPDATE 2: I enter the command: dpkg -L brscan3, which outputs the following, copied to include only files in /usr/lib64:

/usr/lib64
/usr/lib64/libbrscandec3.so.1.0.0
/usr/lib64/sane
/usr/lib64/sane/libsane-brother3.so.1.0.7
/usr/lib64/libbrscandec3.so
/usr/lib64/libbrscandec3.so.1
/usr/lib64/sane/libsane-brother3.so.1
/usr/lib64/sane/libsane-brother3.so
10
  • You say you used to be able to access both over the network. Has anything changed on the system or did it suddenly stop working for no apparent reason? Printing to both works properly? Working on USB, is it that it previously worked on USB or since the network problem, you tested USB and it works? – fixer1234 Jan 31 '15 at 7:43
  • Things have changed on the system, such as recent OS auto-updates, personal files, and I've installed/un-installed several software programs. But I haven't changed the drivers for the scanners and printers, so I'm unaware of any apparent reason it has suddenly stopped working. Network printing works on the MFC-9840CDW, but does not work on the MFC-7840W. USB scanning and printing works on both devices. – Arya Jan 31 '15 at 8:18
  • I also had the scanimage: open of device brother:net1;dev0 failed: Invalid argument error message. I finally solved it with help from bugs.launchpad.net/ubuntu/+source/simple-scan/+bug/848575/…. See also my answer at askubuntu.com/a/663386/108339 – Olaf Dietsche Aug 19 '15 at 15:18
  • @OlafDietsche I copied libsane-brother* and libbrscandec* to /usr/lib/sane and /usr/lib. The same Invalid argument error message appears. – Arya Sep 18 '15 at 16:35
  • @Arya You must also copy libbrcolm* to /usr/lib. – Olaf Dietsche Sep 18 '15 at 18:57
0

In the file /lib/udev/rules.d/40-libsane.rules were the following 2 lines (starting at line #42):

# Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"

I commented out the 2nd line after reading this, Zvlwab's 2nd comment, who stated that the line above is not needed and it conflicts with the ia32-libs.

Then, I enter the following command, being sure to include apostrophes around the device name:

scanimage --test -d 'brother3:net1;dev0'

The Invalid argument no longer appears and network scanning on the MFC-7840W now works!

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.