Having done what I hope is due diligence in researching this answer I'm stuck. I've recompiled and installed sane and libusb as needed to ensure their integrity. I've also edited the various .conf files and ascertained the drivers are present for the hardware I have. Upon first trial Simple Scan DID work until I loaded xsane.

Now, scanimage -L will see the scanner, but only when run as root (using sudo), not as normal user. lsusb sees the scanner OK as does sane-find-sccanner, since changing file permissions, as user.

I've tried to chgrp to scanner or chmod to a+r-x for all the files I could find for the various libusb, devices, sane, etc I could find. I guess this comes down to the subtle differences in file names and locations of things in 14.04 and the answers given to others. For example, I do not have a dev/003/010 file for any of my USB ports.

I do have a usb1, usb2 etc which points to a more arcane set of file names...

SANE_DEBUG_SNAPSCAN=128 with scanimage -L didn't reveal what's missing. I'm stuck.

I'm using:

  • Ubuntu 14.04LTS
  • HP-AMD64 platform
  • Canon LiDE20 scanner (using Plustek .conf file and drivers)
  • I have an admittedly simpler case (HP wifi scanner that works out of the box) but sometime xsane frontend hangs. The only solution I found is deleting the directory ~/.sane --- thing will work again for a while, and then stops again. Rinse, repeat. Could be your case, probably not. Worth a fast check. – Rmano Jun 2 '15 at 17:26
  • Sometimes it may help to plug the scanner into another USB port. Prefer USB 2.0 over USB 3.0 as that may cause issues with some scanners. – Takkat Jun 2 '15 at 18:01

You probably need to create a udev rule to give access to the device to the members of the scanner group. See https://unix.stackexchange.com/questions/184367/scanimage-does-not-find-scanner-unless-sudoed-but-shows-up-with-sane-find-scan/184463#184463 for an example.

I had to put the following in /etc/udev/rules.d/55-libsane.rules:

SUBSYSTEM=="usb", ATTRS{idVendor}=="04a9", MODE="0660", GROUP="scanner", ENV{libsane_matched}="yes"

before restarting udev (systemctl restart udev.service).

Then make sure that the users who need to use the scanner are in the scanner group:

adduser username scanner
| improve this answer | |

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.