(no subject)

Derek Fountain (derek@fortstar.demon.co.uk)
Tue, 26 May 1998 21:54:24 +0100

I'm having severe trouble getting sane-0.73 to work with my Epson GT-5000
scanner. I know the Epson code is still in alpha, but I reckon I should be
getting more joy than I am.

My system is an Intel Linux 2.0.33, with libc 5.3.12. I compiled the code
with gcc 2.7.2. I have ensured my kernel has SCSI support, both for disks
(I have a SCSI disk) and additional devices.

I run with the default setup which gives libsane pointed at libsane-dll
and, after a successful compile, the findscanner utility confirms my scanner
is there:

> tools/findscanner
find-scanner: found processor "EPSON SCANNER GT-5000 1.07" at device /dev/scanner
find-scanner: found processor "EPSON SCANNER GT-5000 1.07" at device /dev/sga

I commented all the lines out of the dll.conf file except the "epson" line, so
there should be no confusion there, and epson.conf just has a single
"/dev/scanner" line.

All this looks reasonable but when I try to list the devices, bad things happen:

> scanimage --list-devices
Segmentation fault (core dumped)

Actually, a core dump is not the guaranteed result of this. Sometimes it comes
back immediately after turning the scanner error light on, sometimes the scanner
error light comes on after a few seconds, sometimes the error light flashes
instead of remaining steady. Sometimes the error light doesn't come on at all.

xscanimage doesn't do much better:

> xscanimage
xscanimage: no devices available.

I tried setting the debug variables in the evnivronment:

> export SANE_DEBUG_DLL=128
> export SANE_DEBUG_EPSON=128
> export SANE_DEBUG_SANEI_SCSI=128

The best I've ever got out of this (with scanimage) is:

> scanimage --list-devices
[sanei_init_debug]: Setting debug level of dll to 128.
[dll] adding backend epson
[dll] loading backend epson
[dll] dlopen()ing `/usr/local/lib/sane/libsane-epson.so.0'
[dll] init: initializing backend `epson'
[sanei_init_debug]: Setting debug level of epson to 128.
[epson] sane_init: sane 0.73
[epson] sane_init, >/dev/scanner
<
[epson] sane_init, >/dev/scanner<
[epson] attach: opening /dev/scanner
[sanei_init_debug]: Setting debug level of sanei_scsi to 128.
[epson] attach: sending INQUIRY
[sanei_scsi] scsi_req_enter: entered 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: waiting for 0x804cb58
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 72 bytes
[sanei_scsi] scsi_req_enter: entered 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: waiting for 0x804cb58
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 36 bytes
[sanei_scsi] scsi_req_enter: entered 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: waiting for 0x804cb58
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 37 bytes
[epson] code 15
[epson] type 00
[epson] level 00
[sanei_scsi] scsi_req_enter: entered 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: waiting for 0x804cb58
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 36 bytes
[sanei_scsi] scsi_req_enter: entered 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: waiting for 0x804cb58
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 40 bytes
[epson] attach: device doesn't look like an Epson scanner
[dll] exiting
[dll] calling backend `epson's exit function

It normally exits with something like:

...
[sanei_scsi] sanei_scsi.issue: 0x804cb58
[sanei_scsi] sanei_scsi_req_wait: read 36 bytes
[sanei_scsi] sanei_scsi_req_wait: SCSI command complained: Unknown error
Segmentation fault (core dumped)

I tried using ddd to look at the code, but got lost in some horrible
macros. SCSI programming isn't my strong point anyhow.

Any advice on what I'm doing wrong would be greatly appreciated...

Del
derek@fortstar.demon.co.uk

--
Source code, list archive, and docs: http://www.mostang.com/sane/
To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com