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?
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?
- 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.
- Don't forget to run /usr/local/Brother/sane/setupSaneScan2 -i
- rmmod usblp so it won't preempt the scanner. TODO: blacklist it for ever.
- run brscan-skey -l to see if it's there
- run brscan-skey
- 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.
- Scan away