Scanner not realibly working after upgrade to factory (13.1)

Hi,
I installed OpenSUSE 12.3 and installed the drivers for my Epson BX625FWD multifunction printer.
It worked like a charm with drivers from epson.

Yesterday I followed the article to upgrade to factory, which went well.
The printer is still working pefectly - but not the scanner.

  • If I start YAST, the entry is still looking good, e.g. it looks like under 12.3
  • If I try to configure the scanner, YAST always finds it an selects the correct driver
  • If I start the scan application in KDE, in most cases it shows a devices selection dialog for a blink of an eye and exists - or,
    it crashes on start

dmesg shows no errors.

Drivers for printer are these:
Epson - drivers & downloads

Driver for scanner are these:
Epson - drivers & downloads
-> iscan-data-1.24.0-2.noarch.rpm
-> iscan-2.29.2-1.usb0.1.ltdl7.x86_64.rpm

I verfied the installatio status of the packages, and the seem OK.

Where should I start?

Your scanner problem sounds like it may be an issue with the KDE scanner front-end (skanlite?)

You could try launching it from a terminal (just type ‘skanlite’) and watch for errors. Report your results here. Maybe someone can then provide advice about that.

In the meantime, you could also try using an alternative scanning application. For example, ‘scanimage’ or ‘xsane’ via CLI. I am currently using ‘simple-scan’ with good results.

I guess the problem is more subtle:

1949.525184] usb 3-1: usbfs: interface 1 claimed by usblp while ‘scanimage’ sets config #1
2033.138412] usb 3-1: usbfs: interface 1 claimed by usblp while ‘xsane’ sets config #1
2033.149279] usb 3-1: usbfs: interface 1 claimed by usblp while ‘xsane’ sets config #1
2065.271478] usb 3-1: usbfs: interface 1 claimed by usblp while ‘KSaneIface::Fin’ sets config #1
2065.383540] usb 3-1: usbfs: interface 1 claimed by usblp while ‘skanlite’ sets config #1
2071.222377] usb 3-1: usbfs: interface 1 claimed by usblp while ‘KSaneIface::Fin’ sets config #1
2071.334843] usb 3-1: usbfs: interface 1 claimed by usblp while ‘skanlite’ sets config #1

An here are more errors, taken from strace -f skanlite:

poll({fd=6, events=POLLIN}], 1, 4294967295) = 1 ({fd=6, revents=POLLIN}])
recvfrom(6, “\1 \234\2\0\0\0\0G\1\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0”, 4096, 0, NULL, NULL) = 32
recvfrom(6, 0x1f31894, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x1f31894, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll({fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ({fd=6, revents=POLLOUT}])
writev(6, {"(\0\4\0\235\0\0\0\32\0@\3@\2\215\2", 16}, {NULL, 0}, {"", 0}], 3) = 16
poll({fd=6, events=POLLIN}], 1, 4294967295) = 1 ({fd=6, revents=POLLIN}])
recvfrom(6, “\1\1\235\2\0\0\0\0\0\0\0\0@\2y\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0”, 4096, 0, NULL, NULL) = 32
recvfrom(6, 0x1f31894, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(6, 0x1f31894, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll({fd=6, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ({fd=6, revents=POLLOUT}])
writev(6, {"
\0\2\0+\0\300\0\31\0\v\0\235\0\0\0\0\0\30\0\22\0\0\0\235\0\0\0+\0\300\0"…, 52}, {NULL, 0}, {"", 0}], 3) = 52
recvfrom(6, “\22\0\236\2+\0\300\0+\0\300\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0”…, 4096, 0, NULL, NULL) = 128
recvfrom(6, 0x1f31894, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
shmdt(0x7faa25a8f000) = 0
shmctl(1146892, IPC_RMID, 0) = 0
open("/dev/bus/usb/003/002", O_RDWR) = 9
write(11, “\1”, 1) = 1
read(10, “\1”, 1) = 1
ioctl(35603840, USBDEVFS_GETDRIVER, 0x7fff9ae0c930) = -1 EBADF (Bad file descriptor)
ioctl(35603840, USBDEVFS_GETDRIVER, 0x7fff9ae0c930) = -1 EBADF (Bad file descriptor)
ioctl(35603840, USBDEVFS_GETDRIVER, 0x7fff9ae0c930) = -1 EBADF (Bad file descriptor)
ioctl(9, USBDEVFS_SETCONFIGURATION, 0x7fff9ae0ca5c) = -1 EBUSY (Device or resource busy)
ioctl(9, USBDEVFS_CLAIMINTERFACE, 0x7fff9ae0ca3c) = 0
ioctl(9, USBDEVFS_SUBMITURB, 0x226c710) = 0
timerfd_settime(12, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={95, 645594000}}, NULL) = 0
poll({fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=9, events=POLLOUT}], 3, 60000) = 1 ({fd=9, revents=POLLOUT}])
ioctl(9, USBDEVFS_REAPURBNDELAY, 0x7fff9ae0c8d8) = 0
timerfd_settime(12, 0, {it_interval={0, 0}, it_value={0, 0}}, NULL) = 0
ioctl(9, USBDEVFS_SUBMITURB, 0x226c710) = 0
timerfd_settime(12, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={95, 645704000}}, NULL) = 0
poll({fd=10, events=POLLIN}, {fd=12, events=POLLIN}, {fd=9, events=POLLOUT}], 3, 60000

After a while the program exists silently:
, MSG_NOSIGNAL) = 244
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
close(7) = 0
write(3, “\1\0\0\0\0\0\0\0”, 8) = 8
write(5, “@”, 1) = 1
close(5) = 0
close(4) = 0
rt_sigaction(SIGCHLD, NULL, {0x7faa37493030, ], SA_RESTORER|SA_NOCLDSTOP, 0x7faa371299f0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_DFL, ], SA_RESTORER, 0x7faa371299f0}, NULL, 8) = 0
exit_group(1) = ?
+++ exited with 1 +++

On 2013-10-18 18:46, pythonmeister wrote:
> An here are more errors, taken from strace -f skanlite:

Please, as this is a question about a 13.1 problem, which is not
released, you should ask a moderator to move your post to the Beta forum
here.

Use the report button below, the triangle.


Cheers / Saludos,

Carlos E. R.
(from 12.3 x86_64 “Dartmouth” at Telcontar)

Yes, agreed…I’ll move it to Beta.

@pythonmeister: Since you are using a Beta distro, it is likely that you have stumbled across a bug, so it should be reported as such as soon as possible.

Your reported dmesg output suggests that the interface is not being handled correctly

 1949.525184] usb 3-1: usbfs: interface 1 claimed by usblp while 'scanimage' sets config #1
 2033.138412] usb 3-1: usbfs: interface 1 claimed by usblp while 'xsane' sets config #1

FWIW, An old SUSE_scanner reference mentions

Epson all-in-one devices show up at the USB as one USB device with different interfaces (use “sane-find-scanner -v -v”) like:

  • “interface 0” is the scanner unit (USB scanner)
  • “interface 1” is the printer unit (USB printer)
  • an optional “interface 2” is a cardreader unit (USB mass storage)

Now, SANE is supposed to ignore the errors, as is iscan. So, perhaps there has been a regression or a configuration issue of some kind that will need to be addressed. I can’t really assist further with this, other than to submit a bug report.