Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

This problem was supposedly solved a year ago but for me it isn't. Sorry to pick this up so much later but I tried the supposed solution and no matter what I do it will not scan. Printer works fine, no issues there. But there is some sort of weird udev, usb type fail going on with the scanner device. I followed Brother's installation instructions to the letter, also the person who noticed that the lib64 libraries don't get created.

This is 12.10

Linux gamera 3.5.0-25-generic #38-Ubuntu SMP Mon Feb 18 23:27:42 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Here is lsusb output:

lsusb

Bus 004 Device 002: ID 083d:0005  
Bus 004 Device 004: ID 04f9:0180 Brother Industries, Ltd MFC-7420
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 010 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 011 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Scanner is found on bus 4 dev 4. When I try to scan to image, gimp starts OK but the file type is wrong and in any case the step of actually scanning something gets missed.

Here is typical dmesg output:

[ 7360.577640] usb 4-2: usbfs: process 6241 (simple-scan) did not claim interface 0     before use
[ 7360.669419] usblp0: removed
[ 7360.682605] usblp 4-2:1.0: usblp0: USB Bidirectional printer dev 4 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0180
[ 7362.004608] usb 4-2: usbfs: USBDEVFS_CONTROL failed cmd brscan-skey-0.2 rqt 128 rq 8 len 64 ret -75
[ 7362.004629] usb 4-2: usbfs: interface 0 claimed by usblp while 'brscan-skey-0.2' sets config #1
[ 7367.024028] usb 4-2: usbfs: process 6241 (simple-scan) did not claim interface 0 before use

I uncommented the echo line in /opt/brother/scanner/brscan-skey/script/scantoimage-0.2.4-0.sh and it says:

/opt/brother/scanner/brscan-skey/script# scan from USB(brother2:bus8;dev1) to /home/cmeo/brscan/brscan.SxvdcQ

This is just mad, has no relationship to bus 4 dev 4, and there is an additional problem in that gimp requires a file type--but which one to use?

How do I debug this? Can it be got to work on Ubuntu 12.10?

1: Libraries

64bit libs install doesn't create required files in /usr/lib/sane.

Easy to fix. Found using SANE_DEBUG_DLL=128.

2: this one had me gobsmacked

I was feeling lucky so I set SANE_DEBUG_SANEI_USB="128"

/usr/lib/sane# scanimage -L
[sanei_debug] Setting debug level of dll to 0.
[sanei_debug] Setting debug level of sanei_usb to 128.
[sanei_usb] sanei_usb_init: marking existing devices
[sanei_usb] sanei_usb_init: Looking for kernel scanner devices
[sanei_usb] sanei_usb_init: can't stat /dev/usb/: No such file or directory
[sanei_usb] sanei_usb_init: SANE is built without support for libusb
[sanei_usb] sanei_usb_init: found 0 devices
[sanei_usb] sanei_usb_find_devices: vendor=0x04b0, product=0x4002
device `brother2:bus8;dev1' is a Brother MFC-7420 USB scanner

Sane built without libusb support? Say what?? So now there's another and much better question: What's the best way to get sane WITH libusb support?

3. Windows user experience anyone?

I tried downloading the sane source and building it...darn thing wouldn't run due to an undefined symbol. Not supposed to happen...ran make uninstall Because I neglected to uninstall all the sane packages first, the sane installation was now utterly mangled. Bit of a D'oh moment--but wait! Uninstalled all the broken packages. Reinstalled using Synaptic. Magic--scanner is now working. This raises more questions than it answers, but I'm not going to complain. It works now, and for no good reason since nothing has theoretically changed. So--just like Windows!

So what's the takeaway?

  1. Copy /usr/lib64/sane stuff created by brother driver package to /usr/lib/sane, or use symlinks or whatever. Doesn't seem to matter. In all other respects they seem to be good drivers and this vendor unlike many others is at least taking it seriously.
  2. Don't forget to run /usr/local/Brother/sane/setupSaneScan2 -i
  3. rmmod usblp so it won't preempt the scanner. TODO: blacklist it for ever.
  4. run brscan-skey -l to see if it's there
  5. run brscan-skey
  6. If you can't get any sense out of it at this point, remove all sane packages and re-install them. Rinse and repeat 1-5. Shouldn't work but did for me.
  7. Scan away
share|improve this question

1 Answer 1

I have seen broken library links for the brother drivers. Maye you check this.

To fix this kind of problems I have this snippet in one of my maintenance sripts:

cd /usr/lib
for f in ../lib64/libbr* ../lib64/sane
do
    [ -e $(basename $f) ] || ln -svnf $f
done
share|improve this answer
    
Getting there. Found two problems. #1 solved –  user137469 Mar 5 '13 at 4:33
    
@user137469 If your problem is resolved, don't forget to close this question. –  H.-Dirk Schmitt Mar 13 '13 at 12:21
    
I am also very pleased to report that the setup survived an upgrade to 13.04. However I cannot see how to close the question. Please advise. –  user137469 Jun 20 '13 at 8:15
    
You need to pick a correct answer to close the issue, if none exists, please answer the question your self. –  virtualxtc Dec 18 '13 at 8:39
    
Also, could you please confirm whether or not you have scanning working? –  virtualxtc Dec 18 '13 at 8:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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