[sane-devel] Epson Perfection 1650 on FreeBSD

JJ Behrens jj@nttmcl.com
Thu, 24 Jan 2002 16:04:31 -0800 (PST)


I'm not able to get scanimage to scan an image on my Epson Perfection 1650
under FreeBSD. I get the following error message:

tcp# scanimage -d "epson:/dev/uscanner0"
scanimage: open of device epson:/dev/uscanner0 failed: Invalid argument

I know that the device is recognized successfully, because when I plug it
in, I get the following in /var/log/messages:

Jan 24 15:41:04 tcp /kernel: uscanner0: EPSON EPSON Scanner, rev
1.00/1.08, addr 2

I used truss to do a kernel trace while debugging was turned on,
and I get the following:

open("/dev/uscanner0",2,02001)                   = 3 (0x3)
ioctl(3,CAMGETPASSTHRU,0xbfbfd614)               ERR#22 'Invalid argument'
close(3)                                         = 0 (0x0)
fstat(2,0xbfbfdc18)                              = 0 (0x0)
[epson] write(2,0xbfbfd580,8)                            = 8 (0x8)
attach: open failed: Invalid argument

Notice that it's doing an ioctl call. It interesting that in
/usr/src/sys/dev/usb/uscanner.c, uscannerioctl is defined as:

int
uscannerioctl(dev_t dev, u_long cmd, caddr_t addr, int flag, struct proc
*p)
{
	return (EINVAL);
}

Hence, it's not proper to do an IOCTL for USB scanners under FreeBSD. 

Please note that I had to do a wee bit of hacking of FreeBSD to get
uscanner to be associated with my scanner. I was able to do this thanks to
instructions at
<http://www.geocrawler.com/mail/msg.php3?msg_id=4897222&list=151> (which
worked for the Epson Perfection 1640). I'm pretty sure that part is
working correctly. 

I'll take a guess that some #define symbol needs to be used to turn off
ioctl usage, but I'm not sure which symbol nor where to define it.

uname -a reports:

FreeBSD tcp.nttmcl.com 4.4-RELEASE FreeBSD 4.4-RELEASE #1: Thu Jan 24
11:54:38
PST 2002     jj@tcp.nttmcl.com:/usr/obj/usr/src/sys/GENERIC  i386

sane version: sane-backends-1.0.6/

The remainder of this email contains the result of using truss with full
debugging turned on. Thank you all very much for any help you can provide.

-jj

__sysctl(0xbfbff9b0,0x2,0x28061c08,0xbfbff9ac,0x0,0x0) = 0 (0x0)
mmap(0x0,32768,0x3,0x1002,-1,0x0)		 = 671494144 (0x28063000)
geteuid()					 = 0 (0x0)
getuid()					 = 0 (0x0)
getegid()					 = 0 (0x0)
getgid()					 = 0 (0x0)
access("/usr/local/lib/libsane.so.1",0)		 = 0 (0x0)
open("/usr/local/lib/libsane.so.1",0,027757775010) = 3 (0x3)
fstat(3,0xbfbff9d8)				 = 0 (0x0)
read(0x3,0xbfbfe9a8,0x1000)			 = 4096 (0x1000)
mmap(0x0,28672,0x5,0x2,3,0x0)			 = 671526912 (0x2806b000)
mmap(0x28070000,4096,0x3,0x12,3,0x4000)		 = 671547392 (0x28070000)
mmap(0x28071000,4096,0x3,0x1012,-1,0x0)		 = 671551488 (0x28071000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/libcam.so.2",0)		 ERR#2 'No such file or directory'
open("/var/run/ld-elf.so.hints",0,014)		 = 3 (0x3)
read(0x3,0xbfbff990,0x80)			 = 128 (0x80)
lseek(3,0x80,0)					 = 128 (0x80)
read(0x3,0x28067000,0x5f)			 = 95 (0x5f)
close(3)					 = 0 (0x0)
access("/usr/lib/libcam.so.2",0)		 = 0 (0x0)
open("/usr/lib/libcam.so.2",0,027757775010)	 = 3 (0x3)
fstat(3,0xbfbff9d8)				 = 0 (0x0)
read(0x3,0xbfbfe9a8,0x1000)			 = 4096 (0x1000)
mmap(0x0,61440,0x5,0x2,3,0x0)			 = 671555584 (0x28072000)
mmap(0x2807e000,8192,0x3,0x12,3,0xb000)		 = 671604736 (0x2807e000)
mmap(0x28080000,4096,0x3,0x1012,-1,0x0)		 = 671612928 (0x28080000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/libm.so.2",0)		 ERR#2 'No such file or directory'
access("/usr/lib/libm.so.2",0)			 = 0 (0x0)
open("/usr/lib/libm.so.2",0,027757775010)	 = 3 (0x3)
fstat(3,0xbfbff9d8)				 = 0 (0x0)
read(0x3,0xbfbfe9a8,0x1000)			 = 4096 (0x1000)
mmap(0x0,114688,0x5,0x2,3,0x0)			 = 671617024 (0x28081000)
mmap(0x28098000,20480,0x3,0x12,3,0x16000)	 = 671711232 (0x28098000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/libjpeg.so.9",0)		 = 0 (0x0)
open("/usr/local/lib/libjpeg.so.9",0,027757775010) = 3 (0x3)
fstat(3,0xbfbff9d8)				 = 0 (0x0)
read(0x3,0xbfbfe9a8,0x1000)			 = 4096 (0x1000)
mmap(0x0,122880,0x5,0x2,3,0x0)			 = 671731712 (0x2809d000)
mmap(0x280ba000,4096,0x3,0x12,3,0x1c000)	 = 671850496 (0x280ba000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/libc.so.4",0)		 ERR#2 'No such file or directory'
access("/usr/lib/libc.so.4",0)			 = 0 (0x0)
open("/usr/lib/libc.so.4",0,027757775010)	 = 3 (0x3)
fstat(3,0xbfbff9d8)				 = 0 (0x0)
read(0x3,0xbfbfe9a8,0x1000)			 = 4096 (0x1000)
mmap(0x0,622592,0x5,0x2,3,0x0)			 = 671854592 (0x280bb000)
mmap(0x2813b000,20480,0x3,0x12,3,0x7f000)	 = 672378880 (0x2813b000)
mmap(0x28140000,77824,0x3,0x1012,-1,0x0)	 = 672399360 (0x28140000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/libcam.so.2",0)		 ERR#2 'No such file or directory'
access("/usr/lib/libcam.so.2",0)		 = 0 (0x0)
access("/usr/local/lib/libm.so.2",0)		 ERR#2 'No such file or directory'
access("/usr/lib/libm.so.2",0)			 = 0 (0x0)
access("/usr/local/lib/libjpeg.so.9",0)		 = 0 (0x0)
sigaction(SIGILL,0xbfbffa30,0xbfbffa18)		 = 0 (0x0)
sigprocmask(0x1,0x0,0x28061b3c)			 = 0 (0x0)
sigaction(SIGILL,0xbfbffa18,0x0)		 = 0 (0x0)
sigprocmask(0x1,0x28061b00,0xbfbffa58)		 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
fstat(2,0xbfbfefc4)				 = 0 (0x0)
[sanei_debug] write(2,0xbfbfe92c,14)				 = 14 (0xe)
Setting debug level of dll to 255.
write(2,0xbfbfe94c,35)				 = 35 (0x23)
fstat(2,0xbfbff0f4)				 = 0 (0x0)
[dll] write(2,0xbfbfea5c,6)				 = 6 (0x6)
sane_init: SANE dll backend version 1.0.4 from sane-backends-1.0.6
write(2,0xbfbfea7c,67)				 = 67 (0x43)
readlink("/etc/malloc.conf",0xbfbfecf4,63)	 ERR#2 'No such file or directory'
mmap(0x0,4096,0x3,0x1002,-1,0x0)		 = 672477184 (0x28153000)
break(0x8052000)				 = 0 (0x0)
open("./dll.conf",0,0666)			 ERR#2 'No such file or directory'
open("/usr/local/etc/sane.d/dll.conf",0,0666)	 = 3 (0x3)
fstat(3,0xbfbff0a4)				 = 0 (0x0)
break(0x8054000)				 = 0 (0x0)
read(0x3,0x8052000,0x2000)			 = 322 (0x142)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend net
write(2,0xbfbfea5c,32)				 = 32 (0x20)
break(0x8055000)				 = 0 (0x0)
break(0x8056000)				 = 0 (0x0)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend abaton
write(2,0xbfbfea5c,35)				 = 35 (0x23)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend agfafocus
write(2,0xbfbfea5c,38)				 = 38 (0x26)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend apple
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend avision
write(2,0xbfbfea5c,36)				 = 36 (0x24)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend artec
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend as6e
write(2,0xbfbfea5c,33)				 = 33 (0x21)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend bh
write(2,0xbfbfea5c,31)				 = 31 (0x1f)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend canon
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend coolscan
write(2,0xbfbfea5c,37)				 = 37 (0x25)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend dmc
write(2,0xbfbfea5c,32)				 = 32 (0x20)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend epson
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend hp
write(2,0xbfbfea5c,31)				 = 31 (0x1f)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend m3096g
write(2,0xbfbfea5c,35)				 = 35 (0x23)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend microtek
write(2,0xbfbfea5c,37)				 = 37 (0x25)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend microtek2
write(2,0xbfbfea5c,38)				 = 38 (0x26)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend mustek
write(2,0xbfbfea5c,35)				 = 35 (0x23)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend mustek_usb
write(2,0xbfbfea5c,39)				 = 39 (0x27)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend nec
write(2,0xbfbfea5c,32)				 = 32 (0x20)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend pie
write(2,0xbfbfea5c,32)				 = 32 (0x20)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend pint
write(2,0xbfbfea5c,33)				 = 33 (0x21)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend plustek
write(2,0xbfbfea5c,36)				 = 36 (0x24)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend qcam
write(2,0xbfbfea5c,33)				 = 33 (0x21)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend ricoh
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend s9036
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend sharp
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend sm3600
write(2,0xbfbfea5c,35)				 = 35 (0x23)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend snapscan
write(2,0xbfbfea5c,37)				 = 37 (0x25)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend sp15c
write(2,0xbfbfea5c,34)				 = 34 (0x22)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend tamarack
write(2,0xbfbfea5c,37)				 = 37 (0x25)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend umax
write(2,0xbfbfea5c,33)				 = 33 (0x21)
fstat(2,0xbfbff0d4)				 = 0 (0x0)
[dll] write(2,0xbfbfea3c,6)				 = 6 (0x6)
add_backend: adding backend v4l
write(2,0xbfbfea5c,32)				 = 32 (0x20)
read(0x3,0x8052000,0x2000)			 = 0 (0x0)
close(3)					 = 0 (0x0)
open("./dll.aliases",0,0666)			 ERR#2 'No such file or directory'
open("/usr/local/etc/sane.d/dll.aliases",0,0666) ERR#2 'No such file or directory'
getpid()					 = 56273 (0xdbd1)
fstat(2,0xbfbff084)				 = 0 (0x0)
[dll] write(2,0xbfbfe9ec,6)				 = 6 (0x6)
load: loading backend epson
write(2,0xbfbfea0c,28)				 = 28 (0x1c)
open("/usr/local/lib/sane/libsane-epson.so.1",0,0666) = 3 (0x3)
close(3)					 = 0 (0x0)
fstat(2,0xbfbff074)				 = 0 (0x0)
[dll] write(2,0xbfbfe9dc,6)				 = 6 (0x6)
load: dlopen()ing `/usr/local/lib/sane/libsane-epson.so.1'
write(2,0xbfbfe9fc,59)				 = 59 (0x3b)
sigprocmask(0x1,0x28061b00,0xbfbff104)		 = 0 (0x0)
open("/usr/local/lib/sane/libsane-epson.so.1",0,047) = 3 (0x3)
fstat(3,0xbfbff0b4)				 = 0 (0x0)
read(0x3,0xbfbfe084,0x1000)			 = 4096 (0x1000)
mmap(0x0,65536,0x5,0x2,3,0x0)			 = 672481280 (0x28154000)
mmap(0x28162000,8192,0x3,0x12,3,0xd000)		 = 672538624 (0x28162000)
close(3)					 = 0 (0x0)
access("/usr/local/lib/sane/libcam.so.2",0)	 ERR#2 'No such file or directory'
access("/usr/lib/libcam.so.2",0)		 = 0 (0x0)
access("/usr/local/lib/sane/libm.so.2",0)	 ERR#2 'No such file or directory'
access("/usr/lib/libm.so.2",0)			 = 0 (0x0)
access("/usr/local/lib/sane/libjpeg.so.9",0)	 ERR#2 'No such file or directory'
access("/usr/lib/libjpeg.so.9",0)		 ERR#2 'No such file or directory'
access("/usr/lib/compat/libjpeg.so.9",0)	 ERR#2 'No such file or directory'
access("/usr/X11R6/lib/libjpeg.so.9",0)		 ERR#2 'No such file or directory'
access("/usr/local/lib/libjpeg.so.9",0)		 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
sigprocmask(0x1,0x28061b00,0xbfbff104)		 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
fstat(2,0xbfbff4c4)				 = 0 (0x0)
[dll] write(2,0xbfbfee2c,6)				 = 6 (0x6)
init: initializing backend `epson'
write(2,0xbfbfee4c,35)				 = 35 (0x23)
fstat(2,0xbfbfef34)				 = 0 (0x0)
[sanei_debug] write(2,0xbfbfe89c,14)				 = 14 (0xe)
Setting debug level of epson to 255.
write(2,0xbfbfe8bc,37)				 = 37 (0x25)
fstat(2,0xbfbff064)				 = 0 (0x0)
[epson] write(2,0xbfbfe9cc,8)				 = 8 (0x8)
sane_init: sane-backends 1.0.6
write(2,0xbfbfe9ec,31)				 = 31 (0x1f)
open("./epson.conf",0,0666)			 ERR#2 'No such file or directory'
open("/usr/local/etc/sane.d/epson.conf",0,0666)	 = 3 (0x3)
fstat(3,0xbfbff014)				 = 0 (0x0)
read(0x3,0x8052000,0x2000)			 = 359 (0x167)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, ># epson.conf<
write(2,0xbfbfe9fc,26)				 = 26 (0x1a)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#<
write(2,0xbfbfe9fc,15)				 = 15 (0xf)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, ># here are some examples for how to configure the EPSON backend<
write(2,0xbfbfe9fc,77)				 = 77 (0x4d)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#<
write(2,0xbfbfe9fc,15)				 = 15 (0xf)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, ># SCSI scanner:<
write(2,0xbfbfe9fc,29)				 = 29 (0x1d)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >scsi EPSON<
write(2,0xbfbfe9fc,24)				 = 24 (0x18)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >scsi EPSON<
write(2,0xbfbfe9fc,24)				 = 24 (0x18)
open("/dev/xpt0",2,027757770304)		 = 4 (0x4)
break(0x805d000)				 = 0 (0x0)
break(0x805e000)				 = 0 (0x0)
ioctl(4,CAMIOCOMMAND,0xbfbff020)		 = 0 (0x0)
close(4)					 = 0 (0x0)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#<
write(2,0xbfbfe9fc,15)				 = 15 (0xf)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, ># Parallel port scanner:<
write(2,0xbfbfe9fc,38)				 = 38 (0x26)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#pio 0x278<
write(2,0xbfbfe9fc,24)				 = 24 (0x18)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#pio 0x378<
write(2,0xbfbfe9fc,24)				 = 24 (0x18)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#pio 0x3BC<
write(2,0xbfbfe9fc,24)				 = 24 (0x18)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#<
write(2,0xbfbfe9fc,15)				 = 15 (0xf)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, ># USB scanner - only enable this if you have an EPSON scanner. It could<
write(2,0xbfbfe9fc,85)				 = 85 (0x55)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#               otherwise block your non-EPSON scanner from being<
write(2,0xbfbfe9fc,79)				 = 79 (0x4f)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#               recognized.<
write(2,0xbfbfe9fc,41)				 = 41 (0x29)
fstat(2,0xbfbff074)				 = 0 (0x0)
[epson] write(2,0xbfbfe9dc,8)				 = 8 (0x8)
sane_init, >#usb /dev/usbscanner0<
write(2,0xbfbfe9fc,35)				 = 35 (0x23)
read(0x3,0x8052000,0x2000)			 = 0 (0x0)
close(3)					 = 0 (0x0)
fstat(2,0xbfbff4b4)				 = 0 (0x0)
[dll] write(2,0xbfbfee1c,6)				 = 6 (0x6)
init: backend `epson' is version 1.0.212
write(2,0xbfbfee3c,41)				 = 41 (0x29)
fstat(2,0xbfbff4c4)				 = 0 (0x0)
[epson] write(2,0xbfbfee2c,8)				 = 8 (0x8)
sane_open(/dev/uscanner0)
write(2,0xbfbfee4c,26)				 = 26 (0x1a)
fstat(2,0xbfbfdc34)				 = 0 (0x0)
[epson] write(2,0xbfbfd59c,8)				 = 8 (0x8)
SANE Epson Backend v0.2.12 - 2001-10-28
write(2,0xbfbfd5bc,40)				 = 40 (0x28)
fstat(2,0xbfbfdc24)				 = 0 (0x0)
[epson] write(2,0xbfbfd58c,8)				 = 8 (0x8)
attach(/dev/uscanner0)
write(2,0xbfbfd5ac,23)				 = 23 (0x17)
fstat(2,0xbfbfdc34)				 = 0 (0x0)
[epson] write(2,0xbfbfd59c,8)				 = 8 (0x8)
attach: opening /dev/uscanner0
write(2,0xbfbfd5bc,31)				 = 31 (0x1f)
open("/dev/uscanner0",2,02001)			 = 3 (0x3)
ioctl(3,CAMGETPASSTHRU,0xbfbfd620)		 ERR#22 'Invalid argument'
close(3)					 = 0 (0x0)
fstat(2,0xbfbfdc24)				 = 0 (0x0)
[epson] write(2,0xbfbfd58c,8)				 = 8 (0x8)
attach: open failed: Invalid argument
write(2,0xbfbfd5ac,38)				 = 38 (0x26)
scanimage: open of device epson:/dev/uscanner0 failed: Invalid argument
write(2,0xbfbfef2c,72)				 = 72 (0x48)
fstat(2,0xbfbff4f4)				 = 0 (0x0)
[dll] write(2,0xbfbfee5c,6)				 = 6 (0x6)
sane_exit: exiting
write(2,0xbfbfee7c,19)				 = 19 (0x13)
fstat(2,0xbfbff4f4)				 = 0 (0x0)
[dll] write(2,0xbfbfee5c,6)				 = 6 (0x6)
sane_exit: calling backend `epson's exit function
write(2,0xbfbfee7c,50)				 = 50 (0x32)
sigprocmask(0x1,0x28061b00,0xbfbff584)		 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
sigprocmask(0x1,0x28061b00,0xbfbff584)		 = 0 (0x0)
munmap(0x28154000,0x10000)			 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
sigprocmask(0x1,0x28061b00,0xbfbff5e4)		 = 0 (0x0)
sigprocmask(0x3,0x28061b10,0x0)			 = 0 (0x0)
exit(0x1)					process exit, rval = 256