Simple Scan cannot find scanner

Output of lsusb and sane-find-scanner below:

janos@AndrasXubuntu:~/Desktop$ sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x1205 [hp scanjet scanner]) at libusb:002:002
could not open USB device 0x1d6b/0x0001 at 002:001: Access denied (insufficient permissions)
could not open USB device 0x1d6b/0x0001 at 001:001: Access denied (insufficient permissions)
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.
janos@AndrasXubuntu:~/Desktop$ scanimage -L
[hp5590] hp5590_get_status: USB-in-USB: got non-zero device status (status 12)
[hp5590] hp5590_init_scanner: scanner reports non-zero status: Device busy

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).
janos@AndrasXubuntu:~/Desktop$

Additional info:

(1) gscan2pdf and xsane has the same problem - cannot find device

(2) when I had xubuntu 12.04 scanner worked

(3) if I connect my laptop (same Ubuntu 16.04 as the desktop, but laptop is 64 bit, desktop is 32 bit) then simple scan on laptop works.

Sudo output, see comment below by janos

janos@AndrasXubuntu:~/Desktop$ sudo sane-find-scanner
[sudo] password for janos: 

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x1205 [hp scanjet scanner]) at libusb:002:002
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
janos@AndrasXubuntu:~/Desktop$ sudo scanimage -L
[hp5590] hp5590_get_status: USB-in-USB: got non-zero device status (status 12)
[hp5590] hp5590_init_scanner: scanner reports non-zero status: Device busy

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).
janos@AndrasXubuntu:~/Desktop$ 

Output of lsusb (sorry, I meant to include that the first time when I saked the question)

janos@AndrasXubuntu:~/Desktop$ sudo lsusb
[sudo] password for janos: 
Bus 002 Device 002: ID 03f0:1205 Hewlett-Packard ScanJet 4500C/5550C
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
janos@AndrasXubuntu:~/Desktop$ 

Please note that if I plug the scanner to a different usb socket (e.g. a socket in Bus 001) lsusb will find it there but simple-scan still would not work.

Additional info: I can dual boot this machine to an old installation of Fedora-3. Scanner works there. However, scanimage -L will not find it, lsusb and sane-find-scanner does. See below output of terminal in Fedora-3 boot.

[apu@andraslinux ~]$ su -c "scanimage -L"
Password: 

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).
[apu@andraslinux ~]$ /sbin/lsusb
Bus 002 Device 002: ID 03f0:1205 Hewlett-Packard 
Bus 002 Device 001: ID 1d6b:0001  
Bus 001 Device 001: ID 1d6b:0001  
[apu@andraslinux ~]$ sane-find-scanner 

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x1205 [hp scanjet scanner]) at libusb:002:002
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

Could it be the libusb that enables FC3 to run scanner but Ubuntu 16.04 may not use libusb?

As I mentioned before scanner did work on 12.04 but stopped working after upgrading to 14.04 and now to 16.04

Additional info regarding libusb:

Terminal output is identical for both the 32bit desktop (scanner not working) and 64bit laptop (scanner working), and is here below:

janos@acerlinux:~/Desktop$ dpkg -l libusb
dpkg-query: no packages found matching libusb

In fact, I just checked that my 64bit laptop does not have libsane-dev, and checked again, scanner works if connected to leptop.

Additional info copied here from comments below:

/etc/sane.d/dll.conf was OK, hp5590 was not commented; then I modified /etc/sane.d/hp5400.conf by adding the proper usb line; scanner still not working even though scanimage -L detects it, but reports as busy. See here:

janos@AndrasXubuntu:~/Desktop$ sudo scanimage -L
[sudo] password for janos: 
[hp5590] hp5590_get_status: USB-in-USB: got non-zero device status (status 12)
[hp5590] hp5590_init_scanner: scanner reports non-zero status: Device busy

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).
janos@AndrasXubuntu:~/Desktop$ 

One more thing, interestingly, the /etc/sane.d/hp5400.conf file is the same on both 64bit laptop and 32bit Fc3 desktop without having the edited addition of 5590 usb line and yet both work with the scanner except the 32bit Ubuntu desktop since upgrading from 12.04.

Consequently, I think the big question is "Why 32bit 16.04 Ubuntu desktop reports device busy?"

Additional info - revised output of libusb, this time with asterisk:

libusb on 32bit desktop

janos@AndrasXubuntu:~/Desktop$ dpkg -l libusb*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  libusb-0.1-4:i 2:0.1.12-28  i386         userspace USB programming library
ii  libusb-1.0-0:i 2:1.0.20-1   i386         userspace USB programming library
un  libusb-dev     <none>       <none>       (no description available)
un  libusbmuxd-too <none>       <none>       (no description available)
ii  libusbmuxd4:i3 1.0.10-2ubun i386         USB multiplexor daemon for iPhone
janos@AndrasXubuntu:~/Desktop$

libusb on 64bit laptop:

janos@acerlinux:~/Desktop$ dpkg -l libusb*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  libusb-0.1-4:a 2:0.1.12-28  amd64        userspace USB programming library
ii  libusb-1.0-0:a 2:1.0.20-1   amd64        userspace USB programming library
ii  libusb-1.0-0:i 2:1.0.20-1   i386         userspace USB programming library
un  libusb-dev     <none>       <none>       (no description available)
un  libusbmuxd-too <none>       <none>       (no description available)
ii  libusbmuxd4:am 1.0.10-2ubun amd64        USB multiplexor daemon for iPhone
janos@acerlinux:~/Desktop$

Additional info:

According to my notes for FC3 and man sane-usb usbfs has to be mounted in order for scanner to work. So in my FC3 I have a line in fstab containing none /proc/bus. Consequently I looked at the mounted filesystems on 32bit Ubuntu and 64bit Ubuntu. See below comparisons:

32 bit Ubuntu df -ha

janos@AndrasXubuntu:~/Desktop$ sudo df -ha
Filesystem      Size  Used Avail Use% Mounted on
sysfs              0     0     0    - /sys
proc               0     0     0    - /proc
udev            482M     0  482M   0% /dev
devpts             0     0     0    - /dev/pts
tmpfs           100M  5.1M   95M   6% /run
/dev/sda1       9.1G  4.0G  4.7G  47% /
securityfs         0     0     0    - /sys/kernel/security
tmpfs           500M  108K  500M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           500M     0  500M   0% /sys/fs/cgroup
cgroup             0     0     0    - /sys/fs/cgroup/systemd
pstore             0     0     0    - /sys/fs/pstore
cgroup             0     0     0    - /sys/fs/cgroup/blkio
cgroup             0     0     0    - /sys/fs/cgroup/cpu,cpuacct
cgroup             0     0     0    - /sys/fs/cgroup/cpuset
cgroup             0     0     0    - /sys/fs/cgroup/net_cls,net_prio
cgroup             0     0     0    - /sys/fs/cgroup/freezer
cgroup             0     0     0    - /sys/fs/cgroup/memory
cgroup             0     0     0    - /sys/fs/cgroup/hugetlb
cgroup             0     0     0    - /sys/fs/cgroup/pids
cgroup             0     0     0    - /sys/fs/cgroup/perf_event
cgroup             0     0     0    - /sys/fs/cgroup/devices
systemd-1          0     0     0    - /proc/sys/fs/binfmt_misc
hugetlbfs          0     0     0    - /dev/hugepages
debugfs            0     0     0    - /sys/kernel/debug
mqueue             0     0     0    - /dev/mqueue
fusectl            0     0     0    - /sys/fs/fuse/connections
tmpfs           100M  4.0K  100M   1% /run/user/108
tmpfs           100M   36K  100M   1% /run/user/1000
gvfsd-fuse      0.0K  0.0K  0.0K    - /run/user/1000/gvfs
janos@AndrasXubuntu:~/Desktop$ 

Comparing files on 32bit desktop between FC3 (where scanner works) and Ubuntu

janos@AndrasXubuntu:/media/janos/_1/etc/sane.d$ diff hp5400.conf /etc/sane.d/hp5400.conf
14c14
< #/dev/usb/scanner0
---
> #/dev/usbscanner
janos@AndrasXubuntu:/media/janos/_1/etc/sane.d$ 

64bit Ubuntu df -ha

janos@acerlinux:~/Desktop$ sudo df -ha
[sudo] password for janos: 
Filesystem      Size  Used Avail Use% Mounted on
sysfs              0     0     0    - /sys
proc               0     0     0    - /proc
udev            1.4G     0  1.4G   0% /dev
devpts             0     0     0    - /dev/pts
tmpfs           276M  5.0M  271M   2% /run
/dev/sda5        17G  7.1G  8.5G  46% /
securityfs         0     0     0    - /sys/kernel/security
tmpfs           1.4G  260K  1.4G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           1.4G     0  1.4G   0% /sys/fs/cgroup
cgroup             0     0     0    - /sys/fs/cgroup/systemd
pstore             0     0     0    - /sys/fs/pstore
cgroup             0     0     0    - /sys/fs/cgroup/hugetlb
cgroup             0     0     0    - /sys/fs/cgroup/cpuset
cgroup             0     0     0    - /sys/fs/cgroup/pids
cgroup             0     0     0    - /sys/fs/cgroup/freezer
cgroup             0     0     0    - /sys/fs/cgroup/memory
cgroup             0     0     0    - /sys/fs/cgroup/cpu,cpuacct
cgroup             0     0     0    - /sys/fs/cgroup/devices
cgroup             0     0     0    - /sys/fs/cgroup/blkio
cgroup             0     0     0    - /sys/fs/cgroup/net_cls,net_prio
cgroup             0     0     0    - /sys/fs/cgroup/perf_event
systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
hugetlbfs          0     0     0    - /dev/hugepages
mqueue             0     0     0    - /dev/mqueue
debugfs            0     0     0    - /sys/kernel/debug
fusectl            0     0     0    - /sys/fs/fuse/connections
/dev/sda7       3.0G  1.3G  1.7G  44% /mnt/DOS_E
/dev/sda8        22G  6.1G   15G  30% /mnt/save
binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc
tmpfs           276M   44K  276M   1% /run/user/1000
gvfsd-fuse      0.0K  0.0K  0.0K    - /run/user/1000/gvfs
janos@acerlinux:~/Desktop$

FC3 df -ha

Filesystem            Size  Used Avail Use% Mounted on
/dev/hdb1              18G  7.0G   11G  41% /
none                     0     0     0   -  /proc
none                     0     0     0   -  /sys
none                     0     0     0   -  /dev/pts
none                  506M     0  506M   0% /dev/shm
none                     0     0     0   -  /proc/bus/usb
none                     0     0     0   -  /proc/sys/fs/binfmt_misc
none                     0     0     0   -  /var/named/chroot/proc

FC3 ls | grep hp5400.conf

hp5400.conf

FC3 ls | grep hp 5550.conf has no output.

Consequently, things noted: (a) neither FC3 nor 64bit Ubuntu laptop has hp5550.conf files yet scanner with both machines work, (b) while neither 32bit nor 64bit Ubuntu has usbfs mounted scanner works on 64bit Ubuntu but not on 32bit Ubuntu.

Additional info on trying proposed package:

janos@AndrasXubuntu:~/Desktop$ sudo dpkg -i libsane-dev_1.0.25+git20150528-1ubuntu2.16.04.1_i386.deb 
[sudo] password for janos: 
(Reading database ... 196333 files and directories currently installed.)
Preparing to unpack libsane-dev_1.0.25+git20150528-1ubuntu2.16.04.1_i386.deb ...
Unpacking libsane-dev (1.0.25+git20150528-1ubuntu2.16.04.1) over (1.0.25+git20150528-1ubuntu2) ...
dpkg: dependency problems prevent configuration of libsane-dev:
 libsane-dev depends on libsane (= 1.0.25+git20150528-1ubuntu2.16.04.1); however:
  Version of libsane:i386 on system is 1.0.25+git20150528-1ubuntu2.

dpkg: error processing package libsane-dev (--install):
 dependency problems - leaving unconfigured
Processing triggers for doc-base (0.10.7) ...
Processing 1 changed doc-base file...
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
 libsane-dev
janos@AndrasXubuntu:~/Desktop$ sudo dpkg -i libsane_1.0.25+git20150528-1ubuntu2.16.04.1_i386.deb 
[sudo] password for janos: 
(Reading database ... 196333 files and directories currently installed.)
Preparing to unpack libsane_1.0.25+git20150528-1ubuntu2.16.04.1_i386.deb ...
Unpacking libsane:i386 (1.0.25+git20150528-1ubuntu2.16.04.1) over (1.0.25+git20150528-1ubuntu2) ...
dpkg: dependency problems prevent configuration of libsane:i386:
 libsane:i386 depends on libsane-common (= 1.0.25+git20150528-1ubuntu2.16.04.1); however:
  Version of libsane-common on system is 1.0.25+git20150528-1ubuntu2.

dpkg: error processing package libsane:i386 (--install):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.23-0ubuntu7) ...
Errors were encountered while processing:
 libsane:i386
janos@AndrasXubuntu:~/Desktop$

I don't have that particular scanner available for testing, however research indicates that particular model requires the use of the sane-hp5590 backend provided by the package libsane-dev to operate with sane. Installing that package should resolve your issue and allow you to configure sane normally.

Note: The first documentation I can find on this backend indicates that it was originally designed for 64-bit systems based on the files it places in /usr/lib64/sane/ The 32-bit version has the same files in /usr/lib/i386-linux-gnu/sane/ so it appears that it's supported. However I can neither confirm nor deny this as I do not have the hardware available for testing. This may be soon be a moot point as It's becoming abundantly clear that 32-bit support is on it's way to extinction. See the story here and a list of 32 bit Processors already dropped

Sometimes a scanner will be supported by a sane backend that isn't enabled by default. Enabling it can often make things work.

Insure that your scanner is supported by checking here. In your case the 4500C is listed as completely supported and the 5500C is listed as Untested.

Enable the appropriate backend by editing /etc/sane.d/dll.conf and either uncommenting hp5590 or adding that line (if in doubt check your working configuration in the aforementioned file on your other linux for clues) Upon completion of your editing task, save and close the file.

Continue by running the command sane-find-scanner (if this doesn't work you may have a permissions problem, in which case you'll likely get a different result with sudo sane-find-scanner

the output of that command will look something like this:

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x01aa [EXAMPLE], product=0x0001 [EXAMPLE SCANNER]) 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.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.

Now add the scanner to the backend configuration file:

Each sane backend has its own configuration file.

  1. We need the results of sane-find-scanner for this next step. You can ignore everything that starts with a hash tag, but the important part is this line:

    found USB scanner (vendor=0x01aa [EXAMPLE], product=0x0001 [EXAMPLE SCANNER]) at libusb:001:003

  2. We need to add those two values to the back end of our scanner, in this case the example backend. To do that, fire up gedit as root using this command:

gksudo gedit /etc/sane.d/hp5590.conf (double check the spelling of the conf file matches your situation by checking ls /etc/sane.d )

  1. Find the line that reads:

usb

and after it we need to add a line with the word "usb" followed by the vendor number and the product number we got with the scanimage -L command. That line should look similar to this:

usb 0x01aa 0x0001 or in your case usb 03f0:1205 (based on your lsusb output.)

Edit: If all else fails you could try the proposed 32-bit libsane-dev package for your release. However whether that will be successful likely hinges on the resolution of this bug which I recommend that you subscribe to so the the developers can best prioritize their efforts.

Sources:

http://manpages.ubuntu.com/manpages/xenial/man5/sane-hp.5.html

http://www.sane-project.org/man/sane-hp5590.5.html

http://packages.ubuntu.com/xenial/amd64/libsane-dev/filelist

https://help.ubuntu.com/community/SANE%20-%20Installing%20a%20scanner%20that%20isn%27t%20auto-detected


I had the same problem with an HP scanner (HP DeskJet 1050A) on Debian. What fixed it for me was

  • sudo adduser <user> lp
  • sudo apt-get install libsane-hpaio
  • Logging out and back in (to get hold of the lp permissions)