April 22, 2008

Give your scanner a new fresh SANE installation ...

Many Canon Pixma models are supported directly by the Sane Library (through the pixma backend), and the use of an older specific driver is not necessary anymore. Support is either natively brought by the Linux distribution you're running, latest models or bug fixes become available by using the git version

So it became necessary to rationalize all the older articles posted on that blog, in order to guide users to the sole and correct solution to install the pixma backend on their system. Old articles have been retailored, this main tutorial has now all the necessary stuff to get your Pixma scanner ready to use with Sane.

This little guide will explain you how to get the latest Sane git version to be installed on your system. As always, the Sane git version contains the latest release of the Sane pixma backend.
Note that the procedure here can be used also for installing the version 1.0.20 of the Sane library.

All recent PIXMA and ImageClass models are supported, see the man pages or sane-project.org doc pages for more information.
The following models have at least been tested or reported to work fine with Sane.
  • PIXMA MP210, MP220, MP240, MP250, MP260, MP270
  • PIXMA MP450, MP460, MP470, MP480, MP490
  • PIXMA MP500, MP510, MP520, MP530, MP540, MP560
  • PIXMA MP600, MP600R, MP610, MP620, MP630, MP640, MP710
  • PIXMA MP800, MP800R, MP810, MP830, MP960, MP970, MP980, MP990
  • PIXMA MX300, MX310, MX330, MX700, MX850, MX860, MX7600
  • MultiPASS MP700, MP730, PIXMA MP750 (no grayscale)
  • ImageCLASS MF3110, MF4010, MF4018, MF4120, MF4122, MF4140
  • ImageCLASS MF4150, MF4270, MF4370dn, MF4380dn
  • ImageCLASS MF4660, MF4690, MF5770, D480
  • I-SENSYS MF4320d, MF4330d

All models are now supported through USB or network BJNP (Canon's proprietary) protocol, Wired Ethernet or Wifi.

As compile Sane can be sometimes tricky, I'll try to give you the way to avoid pitfalls and have it working at the end, without too much efforts.

Hope it helps !! Let's go.
  • Download latest Sane git package

    2 methods to get the latest Sane git package are possible.

    • HTTP access method

      The HTTP access method should be used only if you are restricted by a firewall that won't let you use the git protocol. HTTP is slower and requires more bandwidth than any other access methods.

      You can download an http snapshot at the address hereafter, where Sane git is hosted:

      http://git.debian.org/?p=sane/sane-backends.git

      Download the latest (upper, named MASTER) tar.gz snapshot image

      Do a quick check after download, that the directory contained in the archive is at a current date.
      Then, untar the package into a directory.

    • Or use git to download it, as developers do ...

      This is actually better than the previous method, as you can later easily update (using git again) the content of the downloaded files, simply issuing a git pull command.
      You patch just the modified files, and you will recompile only what has changed, not the whole thing.

      So first, you must install the git application on your system, it should be available already packaged in your distribution repositories, the name should be something like: git-core or git-scm

      Then, in a terminal, enter the following command:

      $ git clone git://git.debian.org/sane/sane-backends.git

      Files download will begin. You’ll get in your current directory, a new directory named sane-backends. This is the main directory were all the Sane source files are located.

      Updating to the latest source files from the repository

      If you want later to update your git directory with the latest version available from the public Sane git repository, in order to build the latest Sane code, you just need to enter the following command, from the sane-backends directory:

      $ git pull

      This will download the latest changes to the files in your directory sane-backends.

      Then, to build Sane, you can apply the following procedure from the "make", then "make install" statements as indicated here below. Only changed files will be recompiled.
  • Build Sane

    Enter the directory sane-backends created after downloading Sane git.

    The procedure is then “almost” classical, with a few points to take into account instead of running a trivial ./configure, make, make install.

    According to your Linux distribution, you need to run the ./configure command with a set of parameters.

    As it is not possible to cover here all existing distributions, details are given for Ubuntu and Mandriva, as samples.

    For these 2 distributions:

    • Check first that the development libusb library is present and installed.

      On Mandriva, the rpm is called something like:

      libusb0.1_x-devel-...

      on Ubuntu, it is called: libusb-dev.

      Install the package, if not already installed.

      Be warned that if not installed, compilation will success, but the backend will not work, and no error message will be prompted!

    • On both distributions, run the ./configure command like this:

      $ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var

      This will choose /usr/lib/sane as SANE lib directory, /etc/sane.d as SANE config files dir, and /var/lock/sane as state directory: The ones that are used by Mandriva and Ubuntu.

      Check in the logs coming in the terminal window, at the end of the configure, that it will compile with usb support.

    • Then compile as usual

      $ make

      This will take ... a significative amount of time ... Can have a cup of coffee.

    • Install on Ubuntu

      $ sudo make install

    • Or install on Mandriva

      $ su
      # make install
  • Set non-root users permissions

    Now, permissions for non root users to access the scanners need to be set up, as not achieved by the “make install” statement.

    These permission settings depend also on the Linux distribution: whether it uses hotplug, udev, …

    Ubuntu Hardy and later (Intrepid, ...)
    This tweak is not necessary as hardware detection is performed by HAL and not udev, the scanner should be available for non root users, as long as permissions are set to enable scanning from menu: System/Administration/Users and Groups (need a logout/login for changes to be taken into account).
    However, if you experience permissions problems for non root users (ressource not available) on these latest Ubuntu releases, you should try Lee's suggestion, for tweaking the
    /etc/udev/rules.d/40-basic-permissions.rules.

    Ubuntu Jaunty
    Try Darryl's tweak on Jaunty 9.04 to set up persistent-to-upgrades udev rules.



    Ubuntu (releases before Hardy Heron 8.04) and Mandriva both use udev to detect USB devices.
    SANE compilation produces a udev rules file, covering all scanners handled.
    It is named: sane-backends/tools/udev/libsane.rules
    You'll need to install it, by simply replacing the current installed file (coming from the SANE package installed by your Linux distribution), with this new one.
    • Locate first this file
      in the /etc/udev/rules.d directory, it should be called XX-libsane.rules

    • Backup this file somewhere

    • Copy over it, the SANE GIT generated libsane.rules
      Keep the same name as the original one.
      This should give you the following statements, for instance, on Ubuntu:

      $ cp /etc/udev/rules.d/70-libsane.rules ~/
      $ sudo cp tools/udev/libsane.rules /etc/udev/rules.d/70-libsane.rules

    • Have udev take into account the new rules
      Simply reboot, or unplug/replug your scanner USB cable.

  • Test Sane installation

    Now, check that the new Sane git is correctly installed.

    Current Sane git sane-backends version is 1.0.21, check it:

    $ scanimage -V
    scanimage (sane-backends) 1.0.21cvs; backend version 1.0.21

    At that point, you should be able to run some scans with scanimage, and if OK, with Xsane :

    $ scanimage -L
    device `pixma:04A91725_10484D' is a CANON Canon PIXMA MP610 multi-function peripheral

    Next statement will perform a short test of the scanner, you may hear it start scanning and promptly stop.

    $ scanimage –T
    scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
    scanimage: acquiring RGB frame, 8 bits/sample
    scanimage: reading one scanline, 1920 bytes... PASS
    scanimage: reading one byte... PASS
    scanimage: stepped read, 2 bytes... PASS
    scanimage: stepped read, 4 bytes... PASS
    scanimage: stepped read, 8 bytes... PASS
    scanimage: stepped read, 16 bytes... PASS
    scanimage: stepped read, 32 bytes... PASS
    scanimage: stepped read, 64 bytes... PASS
    scanimage: stepped read, 128 bytes... PASS
    scanimage: stepped read, 256 bytes... PASS
    scanimage: stepped read, 512 bytes... PASS
    scanimage: stepped read, 1024 bytes... PASS
    scanimage: stepped read, 2048 bytes... PASS
    scanimage: stepped read, 2047 bytes... PASS
    scanimage: stepped read, 1023 bytes... PASS
    scanimage: stepped read, 511 bytes... PASS
    scanimage: stepped read, 255 bytes... PASS
    scanimage: stepped read, 127 bytes... PASS
    scanimage: stepped read, 63 bytes... PASS
    scanimage: stepped read, 31 bytes... PASS
    scanimage: stepped read, 15 bytes... PASS
    scanimage: stepped read, 7 bytes... PASS
    scanimage: stepped read, 3 bytes... PASS

    And the final result:

    $ xsane
Hope you'll succeed to that point !

In Xsane, you may need to adjust the colors precisely (white, black, gray), using the 3 pipette tool in the preview window.
Read Xsane documentation on how to do that. This is very easy to do, and you'll get after that beautiful scans.

To finish, here are some samples obtained with an MP610, scanning at 600 dpi, and an extra view of a small detail on a stamp, scanned at 4800 dpi.

Comments are welcome, feel free to report anything missing or incorrect ...

242 comments:

«Oldest   ‹Older   201 – 242 of 242
Rodolpheb said...

Hi,

On Hardy 8.04, amd64, successfully installed Canon MP550 i386 printer deb's on my 64 bits version, and, know what ? It works !

Now, the scanner :
git OK
libusb OK
make OK (except for doc)
install OK
$ sane-find-scanner
found USB scanner (vendor=0x04a9, product=0x173d) at libusb:006:007
found USB scanner (vendor=0x04fc, product=0x0561) at libusb:001:003
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.


$ scanimage -V
scanimage (sane-backends) 1.0.21cvs; backend version 1.0.21


$scanimage -L
device `v4l:/dev/video0' is a Noname Flexcam 100 Camera virtual device
device `pixma:04A9173D' is a CANON Canon PIXMA MP550 multi-function peripheral



$ export SANE_DEBUG_PIXMA=11 && scanimage -T
[sanei_debug] Setting debug level of pixma to 11.
[pixma] pixma is compiled without pthread support.
[pixma] pixma version 0.16.2
[pixma] pixma_collect_devices() found Canon PIXMA MP550 at libusb:006:007
[pixma] sanei_bjnp_find_devices:
[pixma] Added all configured scanners, now do auto detection...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] scanner discovery finished...
[pixma] pixma_find_scanners() found 1 devices
scanimage: sane_start: Invalid argument



So what... ? :( snif...
Cur tantum odium ?

JMB said...

I am tying to get my Canon imageCLASS D860 working (printing or scanning) but have looked high & low for any solutions. Has anybody succeeded in getting sane-backends to compile and work for this Printer/Copier. I am not sure that it can even function as a scanner at this point. My OS is Ubuntu Jaunty 9.04 64-bit.

Anonymous said...

Thank you so much! After hours of trying to get my canon MF4150 scanner working on Ubuntu Jaunty, I stumbled upon this blog, followed the instructions to the letter, and voila. I think the problem was that libusb-dev wasn't installed (even though libusb was). Until this morning, I was resigned to the fact that in Linux my MF4150 would provide basic printing functions only. For years, I booted into my XP partition just to scan a document to file. Not anymore! :)

Nicolas said...

Thank you for your comment.

Jaunty offers basically Sane release 1.0.19, which does not supports the MF4150. That's why you need to install at least Sane 1.0.20 or better, the git version (that's what you did), which includes all latest developments.

yourik said...

Hello and thank you all !
I've followed the howto and it's seems my Canon I-Sensys MF4360dn doesn't want to work with me :-(.
Here is my debuging:
1) $ scanimage -V
scanimage (sane-backends) 1.0.21cvs; backend version 1.0.21
2) $ scanimage -L
device `pixma:04A926EC_SJF970200409D' is a CANON Canon imageCLASS MF4360 multi-function peripheral
3) $ scanimage -T
scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes... FAIL Error: Error during device I/O
4) export SANE_DEBUG_PIXMA=11&&xsane
[sanei_debug] Setting debug level of pixma to 11.
[pixma] pixma is compiled without pthread support.
[pixma] pixma version 0.16.2
[pixma] pixma_collect_devices() found Canon imageCLASS MF4360 at libusb:001:002
[pixma] sanei_bjnp_find_devices:
[pixma] Added all configured scanners, now do auto detection...
[pixma] scanner discovery finished...
[pixma] pixma_find_scanners() found 1 devices
[pixma] pixma_collect_devices() found Canon imageCLASS MF4360 at libusb:001:002
[pixma] sanei_bjnp_find_devices:
[pixma] Added all configured scanners, now do auto detection...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] scanner discovery finished...
[pixma] pixma_open(): Canon imageCLASS MF4360
[pixma] Trying to clear the interrupt buffer...
[pixma] no packets in buffer

(xsane:2337): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated

(xsane:2337): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
[pixma] Reader task id=2339 (forked)
[pixma] Reader task started
[pixma]
[pixma] pixma_scan(): start
[pixma] line_size=1920 image_size=1683840 channels=3 depth=8
[pixma] dpi=75x75 offset=(0,0) dimension=640x877
[pixma] gamma_table=0x8bee5c4 source=0
[pixma] Setting non-blocking mode
[pixma] raw_width = 640
[pixma] WARNING:pixma_write(): count(0) != len(10)
[pixma] OUT T=39.332 len=-1
[pixma] 00000000:f3 20 00 00 00 00 00 00 0c 00
[pixma] ERROR: EIO
[pixma]
[pixma] pixma_scan() failed EIO
[pixma] Reader task terminated: EIO
[pixma] read_image():reader task closed the pipe:0 bytes received, 1683840 bytes expected
[pixma] pixma_close(): Canon imageCLASS MF4360
5) No sigh of live from the scanner during all the procedure above
Printing is working fine
I wonder if some one managed to start using this device?
I'm using Ubuntu 9.10
So please help me to figure out what is a problem with the scanner

Unknown said...

This works perfectly fine. Thanks
Ik tried to use my scanner over the network for about 2 years now. Finally it works.

Unknown said...

This works perfectly fine. Thanks
Ik tried to use my scanner over the network for about 2 years now. Finally it works.

LLM said...

Hi,

Thanks for such detailed instructions. I'm trying to get this to work with a Pixma MX860 and Linux Mint 8.

I've gotten to the part about the rules, but don't see XX-libsane.rules where it should be, but instead in lib/udev/rules.d/40-libsane.rules. What to do?

I also briefly saw a message that I have sane and xsane installed. Does one or both of them need to be uninstalled?

Right now:

lisa@lisa-desktop ~ $ scanimage -V
scanimage (sane-backends) 1.0.20; backend version 1.0.20

lisa@lisa-desktop ~ $ scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

lisa@lisa-desktop ~ $ scanimage -T
scanimage: no SANE devices found


Any thoughts or ideas greatly appreciated!

Thank you!

Anonymous said...

Hello and thanks for clear instructions.
I´ve just installed Pixma MP990 for Ubuntu 9.10 and I got it working easily through the network. I´ve got only one problem and it seems to be same as Anonymous reported at September 05, 2009. So I have color alignment with resolutions of 300dpi and above but I have no idea where/what file should I add this section for testing.

Nicolas said...

Color misalignment is a classic behavior of Pixma CCD devices, there are some tunings in the pixma backend for this, already tuned up for MP830, MP970, MP980, ... but not yet tuned for MP990.

Could you send to my email small images scanned with your MP990 where we can see the misalignment, at different resolutions: 300 dpi, 600 dpi, ... up to 4800 dpi so that I can check this.

Julio said...

Greetings and thanks much for all these detailed instructions, nevertheless i dont get my scanner to be recognized yet, would appreciate much little bit of help. Im using ubuntu 9.04 jaunty and a MP 270. Ive followed the first three steps but the configure process is broken since lib/Makefile.in is missing, ive tried installing libraries using an apt-file to recognize them but no success. This is how the process ends

cofigure:creating ./config.status
config.status: creating Makefile
config.status: error: cannot find input file: lib/Makefile.in

is there some other way to make it compile?

thanks much in advance for any help!

Mike said...

I have a Pixma MP250 and I am running x64 Ubuntu 9.10. I had to force 32-bit drivers to get printing to work, and everything went great until I went to do scanimage -T. Below is the -T with a debug in it. I just started using Linux today, but I am a techie person, so I should catch on fast. Scanning isn't absolutely necessary, since I have only scanned anything like twice in the last year, and I installed Ubuntu on a second HDD, keeping Windows 7 installed on the first. If nothing else, I can boot into W7 to scan since printing works like a charm. I just don't like to leave things broken if I can help it.

[sanei_debug] Setting debug level of pixma to 11.
[pixma] pixma is compiled without pthread support.
[pixma] pixma version 0.16.2
[pixma] pixma_collect_devices() found Canon PIXMA MP250 at libusb:002:007
[pixma] sanei_bjnp_find_devices:
[pixma] Added all configured scanners, now do auto detection...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] wmaster0 is not a valid IPv4 interface, skipping...
[pixma] wlan0 is not a valid IPv4 interface, skipping...
[pixma] pan0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] wmaster0 is not a valid IPv4 interface, skipping...
[pixma] wlan0 is not a valid IPv4 interface, skipping...
[pixma] pan0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] wmaster0 is not a valid IPv4 interface, skipping...
[pixma] wlan0 is not a valid IPv4 interface, skipping...
[pixma] pan0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] wmaster0 is not a valid IPv4 interface, skipping...
[pixma] wlan0 is not a valid IPv4 interface, skipping...
[pixma] pan0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] wmaster0 is not a valid IPv4 interface, skipping...
[pixma] wlan0 is not a valid IPv4 interface, skipping...
[pixma] pan0 is not a valid IPv4 interface, skipping...
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is IPv4 capable, sending broadcast..
[pixma] lo is not a valid IPv4 interface, skipping...
[pixma] eth0 is not a valid IPv4 interface, skipping...
[pixma] scanner discovery finished...
[pixma] pixma_find_scanners() found 1 devices
scanimage: sane_start: Invalid argument

Mike said...

Forgot to include this in the last comment, but if I run xsane directly, and select my MP250, it gives me an error.

"Failed to open device 'pixma:04A9173A': Access to resource has been denied."

Unknown said...

Thanks for the excellent information! Following your guide, I got my PIXMA MX330 scanning perfectly with on both Ubuntu 8.04 and 10.04 Beta 2.

Anonymous said...

Hi!

works perfect on my canon pixma mp620 over lan and kubuntu 10.4. thanks a lot!

Bogdan C. said...

I can't get my PIXMA MP250 to work :| on Ubuntu 10.04 (Lucid)

I'm getting the Error during read:Error during device I/O thing :|

I've tried everything (from my point of view): the latest sane and the drivers from the official Canon page.
I tried compiling/building from sources but nothing worked :|

Can someone (or the author of this post) test to see if the Scanner from this "all-in-one" (or from other problematic device) works on Ubuntu 10.04?

Anonymous said...

thanks for your precious information .... i'have risolved my problems with the printer ...... (at the moment) !!!

Anonymous said...

Thanks so much,
my CanoScan LIDE 200 works fine now...
I nearly thought I have to give it back...

for user rights the solution of andrewsomething worked for me under Debian Squeeze:
scanimage -L
device `genesys:libusb:002:002' is a Canon LiDE 200 flatbed scanner

to put the scanner in the right group,
where my user is member of, I ran:

chgrp scanner /dev/bus/usb/002/002

Wilfried

Anonymous said...

Grazie mille

It was very useful for me.

Thank you very much

Anonymous said...

Sorry to post as anonymous .. but hopefully Nicolas can still respond. A few others have bumped into this problem, and it does not seem like anyone suggested a resolution ... I've installed backend version 1.0.20 which supports Canon imageCLASS D480 (man sane-pixma has D480 listed among fully supported devices for both USB and network connection).
sane-find-scanner finds the scanner: "found USB scanner (vendor=0x04a9, product=0x26ed) at libusb:001:007"

BUT

scanimage -L does NOT: "No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages)."
Obviously, no other program sees a scanner either.

I realize the mechanism of failure could be different in all of the cases that reported this symptom. What can I do to diagnose this further and, hopefully, fix the problem?

One thing that I find somewhat suspicious, is that Canon D480 is not mentioned in /lib/udev/rules.d/40-libsane.rules. Should I manually add it there?

Nicolas said...

Hi, the scanner detection issues are generally linked to the Linux distribution you're using, and how the perms are managed for USB and/or scanner devices. You don't say here which distribution/version you're running, but it's very likely that a udev rule is missing for USB scanners.
One way to figure if it's a perms problem is to try the same scanimage command as root.

Anonymous said...

Nicolas, thanks! I did try sudo scanimage -L to see if it's permissions of some kind, but got the same answer (no scanner found).

My distribution is Ubuntu 10.04 LTS (64-bit). One other thing I found somewhat interesting, is that there's a "saned" group on my Ubuntu, but there's no "scanner" group.

I'm willing to provide whatever the dumps may help troubleshoot the issue.

Anonymous said...

Hi. Leslie from Canmore here.

Thanks for this. I'm running Ubuntu 10.04 (Karmic) and I'm having problems with permissions - but running simple-scan with root permissions works. Any ideas which permission file I should change to make it accessible to all users?

Unknown said...

First thank you so much for taking the time to help those less knowledgeable! Thanks to you I've been able to get my MP990 running on my LAN wireless.
I do still have a problem that I'm not sure how to solve: Everything seems to work well when using "Flatbed" scanning. However, when I scan in "Transparency Unit" Two problems arise. Any resolution over 300 DPI either produces a white (or black) blank scan. Any resolution over 1200 grinds the scanning head against the chasis. I'd love to fix this myself but I'm running out of ideas. Any suggestions would be much appreciated! And thanks a million again! Without your help, I'd still have a 30 pound paper weight sitting on my desk :)

Unknown said...
This comment has been removed by the author.
Anonymous said...

Hi,

I have Canon MP550 plugged in to Ubuntu Lucid. I spent weeks trying to make my scanner work. I had error: "Fail Error: Error during device I/O" after running command `scanimage -T`. Commands `sane-find-scanner` and `scanimage -L` worked - they both found and correctly identify my scanner.
The problem was in .... USB HUB ! I had my MP550 plugged to USB Hub. When I plugged it directly to motherboard USB port it started to work.

CodeLV said...

Thank you!!!

hugo said...

Hi there great post!
Listen, I am nearly there but I have that problem with the permissions, namely that the scanner only lets me use it when I am in sudo. Then I get problems with the permissions of the file I produce from the image and so on and so on.
I am using 10.04 and the file that Lee directs me to /etc/udev/rules.d/40-basic-permissions.rules. That file does not exist on my system.
Any help would be much appreciated!!
Thanks.

Anonymous said...

Nicolas, thank you so very much.

I have a Canon MP360 that simply hasn't worked since I installed Ubuntu three years ago. Following your instructions, I have just scanned something for the first time since that time.

I cannot thank you enough.

Alan

Anonymous said...

I had this problem with my Canon imageClass MF4370dn:

scanimage: scanning image of size 640x877 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 1920 bytes... FAIL Error: Device busy

the solution was much more simple: By default the device is set to network scanning but i've connected it by USB so I needed to press the SCAN button, till the display says USB SCANNING as described here: http://www.fixya.com/support/t2908062-trying_scan_but_keep_getting_error_code

Simon Cropper said...

Very helpful. Thanks.

Once you are finished though can you clean up the sane-backend directory that you used configure and make in?

Thanks Simon

Nicolas said...

@Simon: Yes, you can clean up the sane-backends directory once installation is done.

Spinland said...

Hi! First, thanks for posting this; alas, I have problems.

First thing: must the scanner be connected via USB cable? My all-in-one MX860 is connected wirelessly to the network, and I can print to it fine. Is wireless scanning even possible?

Assuming it is, when following your instructions to configure sane I see this message:

*** mustek_usb2 backend requires pthread library - disabling

and usb isn't listed in the big block of backends that will be built. I ran make anyway, and scanimage -L doesn't see the scanner on the network.

Is there anything I can do to make this work as I intend? Thanks in advance!

Spinland said...

Hi! First, thanks for posting this; alas, I have problems.

First thing: must the scanner be connected via USB cable? My all-in-one MX860 is connected wirelessly to the network, and I can print to it fine. Is wireless scanning even possible?

Assuming it is, when following your instructions to configure sane I see this message:

*** mustek_usb2 backend requires pthread library - disabling

and usb isn't listed in the big block of backends that will be built. I ran make anyway, and scanimage -L doesn't see the scanner on the network.

Is there anything I can do to make this work as I intend? Thanks in advance!

Spinland said...

So, I asked too soon. XSane worked perfectly for me, I didn't read far enough in your comments. Thanks again!

Niclas said...

Tried this on 32bit Ubuntu 10.04 and can't figure out the permissions bit. It'll only find the mx 330 scanner in the terminal as su, not from any app. Any help appreciated.

Winstons said...

Absolutely brilliant, thank you very much.

Unknown said...

thanks worked out for me..

Anonymous said...

Hi,

Is this topic still alive?
If it is please can you help me?

Recently I bought a Pixma mp495 and installed the latest backends as described in this thread.

I've connected the Pixma to a Ubuntu 10.10 headless server. For some weird reason each time I want to scan something,the first two attempts fail, while the third attempts delivers a scanresult.
So actually it is working, but in a reallly weird way.
Performing three attempts each time to obtain a result is really annnoying.
Have you ever heard of it before?

trux said...

Well, as incredible as it may sound, this blog is still very current.
I've used it on a later version of Ubuntu with success... and today I've used it on a 10.04 after having tried to avoid it.
This procedure WORKS! The standard packages (sane and all it's stuff from the Software Center) are not enough to get your pixma multifuction device connected to sane via WiFi. (although the bjnlp backend seems installed).
I've successfully connected to my MP990:
~/at_work/sane-backends$ scanimage -L
device `pixma:MP990_pixma' is a CANON Canon MP990 series multi-function peripheral
Thanks to you all... hope my comment gives some help to somebody out there!

erik said...

Brilliant! it worked for the canon pixma mp280! ubuntu 10.04. First compilation i ever did! Great explanation!

Anonymous said...

thx for the help with the canon pixma mx310. how do i perform adf scans?
As is switch to adf mode in xsane, nothing happens ("waiting fpr RGB").

«Oldest ‹Older   201 – 242 of 242   Newer› Newest»