# sane Epson Perfection 1650 scanner stopped working

## AchilleTalon

My Epson Perfection 1650 scanner was working fine for a long time. I didn't use it for a while and had my server upgraded once or more. Then, it no longer works at all and I did move it to my laptop and it refuses to work on it as well. I am completely lost on the reason it is not working.

sane-backends 1.0.21-r1

xsane 0.996

```
bohr ~ # lsusb | grep Epson

Bus 004 Device 006: ID 04b8:0110 Seiko Epson Corp. Perfection 1650

```

```
bohr ~ # 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=0x04b8 [EPSON], product=0x0110 [EPSON Scanner]) at libusb:004:006

found USB scanner (vendor=0x0483 [STMicroelectronics], product=0x2016 [Biometric Coprocessor]) at libusb:003: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.

```

```
bohr ~ # 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).

```

Take note these commands were run as root. Seems I need to unplug/plug my scanner in the usb port to have it again detected by scanimage -L, just did that and see the result:

```
bohr ~ # scanimage -L

device `epson2:libusb:004:007' is a Epson GT-8200 flatbed scanner

```

Then, trying to scan using scanimage:

```
scanimage -d epson2:libusb:004:007 > /tmp/toto.pnm

[epson2] e2_ext_read: cancel request received

scanimage: sane_read: Operation was cancelled

```

Then, trying scanimage -L:

```
bohr ~ # 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).

```

Anyone have an idea what is going on?

```
bohr ~ # emerge --info

Portage 2.1.9.25 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.4, glibc-2.11.2-r3, 2.6.36-gentoo-r5 x86_64)

=================================================================

System uname: Linux-2.6.36-gentoo-r5-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T7500_@_2.20GHz-with-gentoo-1.12.14

Timestamp of tree: Mon, 14 Feb 2011 21:45:01 +0000

app-shells/bash:     4.1_p9

dev-java/java-config: 2.1.11-r3

dev-lang/python:     2.6.6-r1, 3.1.2-r4

dev-util/cmake:      2.8.1-r2

sys-apps/baselayout: 1.12.14-r1

sys-apps/sandbox:    2.4

sys-devel/autoconf:  2.13, 2.65-r1

sys-devel/automake:  1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1

sys-devel/binutils:  2.20.1-r1

sys-devel/gcc:       4.4.4-r2

sys-devel/gcc-config: 1.4.1

sys-devel/libtool:   2.2.10

sys-devel/make:      3.81-r2

virtual/os-headers:  2.6.30-r1 (sys-kernel/linux-headers)

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -march=core2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /var/lib/hsqldb"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-O2 -march=core2 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="assume-digests binpkg-logs distlocks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

GENTOO_MIRRORS="http://gentoo.mirrors.tera-byte.com/ http://gentoo.arcticnetwork.ca/source/ http://adelie.polymtl.ca/ http://gentoo.mirrors.tera-byte.com/ ftp://mirror.iawnet.sandia.gov/pub/gentoo/ "

LANG="fr_CA.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

LINGUAS="en fr"

MAKEOPTS="-j3"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman"

SYNC="rsync://pauli.cids.ca/gentoo-portage"

USE="X a52 aac acl acpi aim alsa amd64 apache2 autoipd avahi berkdb bidi bluetooth branding bzip2 cairo cdda cddb cdio cdr cli consolekit cracklib crypt css cups cxx dbus derby djvu dri dts dvd dvdr eds emboss encode evo exif fam fbcon ffmpeg fftw firefox flac foomaticdb fortran freetype gb gd gdbm gdu geoip ggi gif gimp ginac glitz glut gnome gnome-keyring gnuplot gnutls gpg gphoto2 gpm gps gsl gstreamer gtk gtkhtml hal httpd iconv icq id3tag idn imagemagick imap imlib inifile ipod ipv6 ithreads jabber jack jadetex java java6 javamail javascript jbig jce jikes jingle jmx jpeg junit kerberos kpathsea lame lapack laptop lash lcms ldap leim lesstif libcaca libedit libgda libnotify libsamplerate libwww lirc live lm_sensors mad maildir mailwrapper matroska mbox mcal mdnsresponder-compat midi mikmod milter mime mmap mmx mng modplug modules mp3 mp4 mpeg mpi mplayer msn mudflap mule multilib musepack musicbrainz nas nautilus ncurses networkmanager nls nntp nptl nptlonly nsplugin nvidia ocaml ocamlopt odbc ofx ogg oggvorbis openal opengl openmp openssl oscar pam pango pcmcia pcre pda pdf perl php pidgin plotutils png policykit posix postgres ppds pppd prefork prelude pthreads pulseaudio python qt3support qt4 quicktime radius raw rdesktop readline rss ruby samba sasl scanner sdl servletapi session sharedext sharedmem slang slp smartcard smp sndfile snmp soap sockets sox speex spell spl sqlite sqlite3 sse sse2 ssl startup-notification stream subversion svg swt symlink sysfs syslog sysvipc tcl tcpd theora threads tiff timidity tk tokenizer truetype udev unicode usb utils v4l v4l2 vcd vhosts videos vim-syntax vlm vnc vorbis wavpack wddx wifi wmf wxwindows x264 xattr xcb xcomposite xemacs xface xine xinerama xinetd xml xmlrpc xorg xosd xpm xprint xscreensaver xsl xulrunner xv xvid xvmc yahoo yaz zeroconf zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias auth_digest" APACHE2_MPMS="worker" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev synaptics mouse keyboard" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en fr" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="vesa nv nvidia fbdev v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

```

----------

## AchilleTalon

I did try sane-backends 1.0.22 from the official site and the source, it didn't work neither and behaves slightly differently than 1.0.21-r1. I then try to downgrade to 1.0.21 without any success, same problems. Then I downgraded to 1.0.20-r3. There is clearly some kind of bug introduced with versions 1.0.21 and later.

----------

## NeddySeagoon

AchilleTalon,

It works for me with the same device. Heres what I have 

```
Bus 001 Device 008: ID 04b8:0110 Seiko Epson Corp. Perfection 1650
```

My normal user is in the 

```
wheel uucp audio cdrom dialout video games cdrw roy plugdev vmware scanner polkituser vboxusers
```

groups.

I think the important groups are plugdev and scanner

My config files in /etc/sane.d/ are in dll.conf you need to uncomment one of 

```
epson

epson2
```

epson.conf just has usb uncommented.

I have 

```
*  media-gfx/sane-backends

      Latest version available: 1.0.21-r1

      Latest version installed: 1.0.21-r1

*  media-gfx/xsane

      Latest version available: 0.997

      Latest version installed: 0.997
```

installed.

This lets me scan into gimp as my normal user. sane-find-scanner works for my normal user too.

----------

## AchilleTalon

Neddy,

I did have my scanner available thru the network, I was able to use it from within GIMP as well, etc. I just don't know why it stopped working, but the fact is it stopped working. I am running xsane 0.996 instead of 0.997, but beside that, my setup was pretty much similar to yours.

What version of libusb are you having? What kernel? Are you running baselayout-2 (I'm not)?

My setup was working for a very, very long time, that's the first time it stopped working due to an upgrade (or something else?).

Since it is working now, I will retry to upgrade to 1.0.21-r1 after I am done with my scan work and see if it still working.

----------

## NeddySeagoon

AchilleTalon,

I'm testing on all ~amd64.  I do have an ~x86 box but its not easy to get to test on.

```
*  dev-libs/libusb

      Latest version available: 1.0.8

      Latest version installed: 1.0.8

*  sys-apps/baselayout

      Latest version available: 2.0.1-r1

      Latest version installed: 2.0.1-r1

$ uname -a

Linux NeddySeagoon 2.6.37-gentoo #2 SMP PREEMPT Thu Jan 13 18:18:00 GMT 2011 x86_64 AMD Phenom(tm) II X6 1090T Processor AuthenticAMD GNU/Linux
```

----------

## paddlaren

There seems to be a new backend: epson2 that seems to be default. 

I added epson2 to my SANE_BACKENDS in the make.conf and the default dll.conf works just fine. I suppose that the EPSON2 package is some kind of further evolution of the EPSON package and I will stick to this one and I will not need to modify the dll.config. 

My make.conf:

```

SANE_BACKENDS="epson epson2"

```

----------

## paddlaren

Picked up from man-page of sane-epson2:

 *Quote:*   

> 
> 
>        Because  sane-epson  and  sane-epson2  drivers support many of the same
> 
>        devices, if one driver gives you problems you may try disabling  it  to
> ...

 

And for the "old" epson:

 *Quote:*   

> 
> 
> Some functions of  this backend should be considered beta-quality software!
> 
> 

 

Can't say we have had any problems with the "old" EPSON, will go for epson2 anyway.

Read more on:

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

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

----------

## AchilleTalon

In my /etc/make.conf I have SANE_BACKENDS="epson epson2 net" and in the dll.conf I have only epson2 and net. In the epson.conf and epson2.conf I have only usb. It is working with sane-backends-1.0.20-r3 and refuses to work with higher versions.

----------

