Re: which driver ?

Oliver Neukum (neukum@fachschaft.org.chemie.uni-muenchen.de)
Thu, 02 Jul 1998 00:03:35 +0200

This is a multi-part message in MIME format.
--------------67C14B2085C7C278948CAA2A
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Matto Marjanovic wrote:

> [Anyone have any clues/suggestions as to what is going on?
> The hardware involved is a Microtek 600GS scanner, with the classic
> Adaptec AVA-1502 scsi card, Linux 2.1.107.
> The weird part: scanimage works as non-root, but hangs as root.]
>
> > Date: Wed, 01 Jul 1998 18:06:57 +0200
> > From: Oliver Neukum <neukum@fachschaft.org.chemie.uni-muenchen.de>
>
> > Hi Matto,
> > i fear i have more bad news for you.
> > The scanner's firmware has a bug, it crashes when a lun>0 is referred to.
>
> Not so unexpected....
>
> > I s this done within SANE ? Might it explain hangs as root ?
> > Do you need any more information ?
> > A patch against kernel 2.1.107 is attached.
>
> Isn't there also a kernel configuration option to disable scanning
> all LUNs? That's usually what you want, unless you have a multi-platter
> CDROM that actually uses them... (Either way, I'll put this info somewhere
> on my web page.)
>

... to learn this after 4 days of debugging ...

> > i can confirm that my inabillity to scan as root is caused by sane touching
> > luns>0.
> > The patch to the kernel, which i sent you yesterday allows scanimage to work.
>

i can't rule out, that it was caused by the switch from 2.1.105 to 2.1.107.

> Can you tell where this happens? The microtek backend shouldn't touch any
> LUN other than 0 --- is this some other backend? (Are the others commented
> out of dll.conf?)
>

yes only pnm and microtek

> Also, the "BLIST_NOLUN" designation in the patch only affects how the
> mid-level scsi driver scans the scsi bus --- thus your patch should only
> affect what happens a) when machine boots, b) when a scsi driver module
> is loaded. SANE doesn't cause either, unless you have kerneld set up to
> automatically load the scsi modules.
>

scsi, scsi_generic and aha152x compiled into the kernel; sd, sr and st would be
autoloadedit allowed me to boot and i was happy

> And... I don't see how any part of SANE does anything differently whether
> or not it is used as root. SANE's only interaction with the Linux system
> is to open/read/write/close the sg devices (which is affected by their
> permissions), and open/read/close "/proc/scsi/scsi". Since you can scan
> as non-root, SANE as root would only be touching *other* sg devices
> differently.
>
> Hmm... of course, I'm looking at 2.0.33 kernel code --- maybe the scsi bus
> is rescanned in the 2.1.107 code? Some drastic difference?
>

i have no clue, but the symptom was observable under 2.0.33, too.

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

I will locate kernel images and run a lot of straces. It might take some time.

trace1: scanimage -L as an ordinary user on 2.1.107 patched twice

trace2: the same as root

patched twice means my private patch to the driver, too, which i would like to
promote a bit here. :-)

now rebooting into 2.0.33 ...

--------------67C14B2085C7C278948CAA2A
Content-Type: text/plain; charset=us-ascii; name="trace1"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="trace1"

execve("/usr/local/bin/scanimage", ["scanimage", "-L"], [/* 56 vars */]) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
mprotect(0x40000000, 20673, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x8048000, 14298, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
mmap(0, 15453, PROT_READ, MAP_SHARED, 3, 0) = 0x40008000
close(3) = 0
stat("/etc/ld.so.preload", 0xbffff618) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libsane.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 16384, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000c000
mmap(0x4000c000, 11276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000c000
mmap(0x4000f000, 3576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x4000f000
close(3) = 0
mprotect(0x4000c000, 11276, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libdl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/kde/lib/libdl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 12288, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40010000
mmap(0x40010000, 4170, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40010000
mmap(0x40012000, 344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40012000
close(3) = 0
mprotect(0x40010000, 4170, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libm.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/kde/lib/libm.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 36864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
mmap(0x40013000, 25012, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40013000
mmap(0x4001a000, 4480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x4001a000
close(3) = 0
mprotect(0x40013000, 25012, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libc.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/opt/kde/lib/libc.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000
mmap(0x4001c000, 538317, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4001c000
mmap(0x400a0000, 20932, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x83000) = 0x400a0000
mmap(0x400a6000, 203952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400a6000
close(3) = 0
mprotect(0x4001c000, 538317, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x40008000, 15453) = 0
mprotect(0x8048000, 14298, PROT_READ|PROT_EXEC) = 0
mprotect(0x4000c000, 11276, PROT_READ|PROT_EXEC) = 0
mprotect(0x40010000, 4170, PROT_READ|PROT_EXEC) = 0
mprotect(0x40013000, 25012, PROT_READ|PROT_EXEC) = 0
mprotect(0x4001c000, 538317, PROT_READ|PROT_EXEC) = 0
mprotect(0x40000000, 20673, PROT_READ|PROT_EXEC) = 0
personality(PER_LINUX) = 0
geteuid() = 209
getuid() = 209
getgid() = 101
getegid() = 101
brk(0x804cb18) = 0x804cb18
brk(0x804d000) = 0x804d000
open("./dll.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/sane.d/dll.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=194, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40008000
read(3, "# enable the next line if you wa"..., 4096) = 194
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40008000, 4096) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2005, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40008000
read(3, "# Locale name alias data base\n#"..., 4096) = 2005
brk(0x804e000) = 0x804e000
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40008000, 4096) = 0
open("/usr/share/i18n/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3) = 0
open("/usr/share/locale/de_DE/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap(0, 42, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40008000
close(3) = 0
stat("/usr/share/locale/de_DE/libc.cat", 0xbffff178) = -1 ENOENT (No such file or directory)
stat("/usr/share/locale/libc/de_DE", 0xbffff178) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/locale/de_DE/libc.cat", 0xbffff178) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/sane/libsane-pnm.so.0", O_RDONLY) = 3
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 4
mmap(0, 15453, PROT_READ, MAP_SHARED, 4, 0) = 0x400d8000
close(4) = 0
open("/usr/local/lib/sane/libsane-pnm.so.0", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400dc000
mmap(0x400dc000, 11558, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x400dc000
mmap(0x400df000, 4328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x2000) = 0x400df000
close(4) = 0
mprotect(0x400dc000, 11558, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x400d8000, 15453) = 0
open("/usr/local/lib/sane/libsane-microtek.so.0", O_RDONLY) = 4
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 5
mmap(0, 15453, PROT_READ, MAP_SHARED, 5, 0) = 0x400d8000
close(5) = 0
open("/usr/local/lib/sane/libsane-microtek.so.0", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400e1000
mmap(0x400e1000, 56942, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x400e1000
mmap(0x400ef000, 4528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0xd000) = 0x400ef000
close(5) = 0
mprotect(0x400e1000, 56942, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x400d8000, 15453) = 0
open("./microtek.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/sane.d/microtek.conf", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=30, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40009000
read(5, "scsi * * Scanner\n/dev/scanner\n"..., 4096) = 30
open("/proc/scsi/scsi", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000a000
read(6, "Attached devices: \nHost: scsi0 "..., 1024) = 177
open("/dev/sga", O_RDWR) = 7
close(7) = 0
open("/proc/sys/kernel/sg-big-buff", O_RDONLY) = 7
read(7, "32768\n", 31) = 6
open("/dev/sga", O_RDWR|O_EXCL) = 8
ioctl(8, TIOCSCCINI, 0xbfffecbc) = 0
brk(0x8057000) = 0x8057000
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
write(8, "*\0\0\0\204\0\0\0\0\0\0\0\0\0\0\0"..., 42) = 42
sigprocmask(SIG_SETMASK, [], NULL) = 0
oldselect(9, [8], NULL, NULL, NULL) = 1 (in [8])
sigprocmask(SIG_BLOCK, ~[], []) = 0
read(8, "\204\0\0\0\204\0\0\0\0\0\0\0\0\0"..., 132) = 132
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
close(8) = 0
read(6, "", 1024) = 0
open("/dev/sga", O_RDWR) = 8
close(8) = 0
close(6) = 0
munmap(0x4000a000, 4096) = 0
open("/dev/scanner", O_RDWR|O_EXCL) = 6
ioctl(6, TIOCSCCINI, 0xbffff0a4) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
write(6, "*\0\0\0\204\0\0\0\1\0\0\0\0\0\0\0"..., 42) = 42
sigprocmask(SIG_SETMASK, [], NULL) = 0
oldselect(7, [6], NULL, NULL, NULL) = 1 (in [6])
sigprocmask(SIG_BLOCK, ~[], []) = 0
read(6, "\204\0\0\0\204\0\0\0\1\0\0\0\0\0"..., 132) = 132
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
close(6) = 0
read(5, "", 4096) = 0
close(5) = 0
munmap(0x40009000, 4096) = 0
fstat(1, {st_mode=S_IFCHR|0666, st_rdev=makedev(3, 8), ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40009000
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
write(1, "device `pnm:0\' is a Noname PNM "..., 58) = 58
write(1, "device `pnm:1\' is a Noname PNM "..., 58) = 58
write(1, "device `microtek:/dev/scanner\' "..., 77) = 77
write(1, "device `microtek:/dev/sga\' is a"..., 73) = 73
munmap(0x400dc000, 16712) = 0
munmap(0x400e1000, 61992) = 0
_exit(0) = ?

--------------67C14B2085C7C278948CAA2A
Content-Type: text/plain; charset=us-ascii; name="trace2"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="trace2"

execve("/usr/local/bin/scanimage", ["/usr/local/bin/scanimage", "-L"], [/* 55 vars */]) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40007000
mprotect(0x40000000, 20673, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
mprotect(0x8048000, 14298, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
mmap(0, 15453, PROT_READ, MAP_SHARED, 3, 0) = 0x40008000
close(3) = 0
stat("/etc/ld.so.preload", 0xbffff6c8) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/libsane.so.0", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 16384, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000c000
mmap(0x4000c000, 11276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4000c000
mmap(0x4000f000, 3576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x4000f000
close(3) = 0
mprotect(0x4000c000, 11276, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libdl.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.1", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 12288, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40010000
mmap(0x40010000, 4170, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40010000
mmap(0x40012000, 344, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x40012000
close(3) = 0
mprotect(0x40010000, 4170, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libm.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libm.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 36864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40013000
mmap(0x40013000, 25012, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x40013000
mmap(0x4001a000, 4480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x6000) = 0x4001a000
close(3) = 0
mprotect(0x40013000, 25012, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
open("/usr/local/lib/libc.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libc.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 770048, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000
mmap(0x4001c000, 538317, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x4001c000
mmap(0x400a0000, 20932, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x83000) = 0x400a0000
mmap(0x400a6000, 203952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400a6000
close(3) = 0
mprotect(0x4001c000, 538317, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x40008000, 15453) = 0
mprotect(0x8048000, 14298, PROT_READ|PROT_EXEC) = 0
mprotect(0x4000c000, 11276, PROT_READ|PROT_EXEC) = 0
mprotect(0x40010000, 4170, PROT_READ|PROT_EXEC) = 0
mprotect(0x40013000, 25012, PROT_READ|PROT_EXEC) = 0
mprotect(0x4001c000, 538317, PROT_READ|PROT_EXEC) = 0
mprotect(0x40000000, 20673, PROT_READ|PROT_EXEC) = 0
personality(PER_LINUX) = 0
geteuid() = 0
getuid() = 0
getgid() = 0
getegid() = 0
brk(0x804cb18) = 0x804cb18
brk(0x804d000) = 0x804d000
open("./dll.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/sane.d/dll.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=194, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40008000
read(3, "# enable the next line if you wa"..., 4096) = 194
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40008000, 4096) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2005, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40008000
read(3, "# Locale name alias data base\n#"..., 4096) = 2005
brk(0x804e000) = 0x804e000
read(3, "", 4096) = 0
close(3) = 0
munmap(0x40008000, 4096) = 0
open("/usr/share/i18n/locale.alias", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.ISO-8859-1/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE.iso88591/LC_MESSAGES", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/de_DE/LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
close(3) = 0
open("/usr/share/locale/de_DE/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap(0, 42, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40008000
close(3) = 0
stat("/usr/share/locale/de_DE/libc.cat", 0xbffff228) = -1 ENOENT (No such file or directory)
stat("/usr/share/locale/libc/de_DE", 0xbffff228) = -1 ENOENT (No such file or directory)
stat("/usr/local/share/locale/de_DE/libc.cat", 0xbffff228) = -1 ENOENT (No such file or directory)
open("/usr/local/lib/sane/libsane-pnm.so.0", O_RDONLY) = 3
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 4
mmap(0, 15453, PROT_READ, MAP_SHARED, 4, 0) = 0x400d8000
close(4) = 0
open("/usr/local/lib/sane/libsane-pnm.so.0", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400dc000
mmap(0x400dc000, 11558, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x400dc000
mmap(0x400df000, 4328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x2000) = 0x400df000
close(4) = 0
mprotect(0x400dc000, 11558, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x400d8000, 15453) = 0
open("/usr/local/lib/sane/libsane-microtek.so.0", O_RDONLY) = 4
stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=15453, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 5
mmap(0, 15453, PROT_READ, MAP_SHARED, 5, 0) = 0x400d8000
close(5) = 0
open("/usr/local/lib/sane/libsane-microtek.so.0", O_RDONLY) = 5
read(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096
mmap(0, 65536, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400e1000
mmap(0x400e1000, 56942, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x400e1000
mmap(0x400ef000, 4528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0xd000) = 0x400ef000
close(5) = 0
mprotect(0x400e1000, 56942, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
munmap(0x400d8000, 15453) = 0
open("./microtek.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/local/etc/sane.d/microtek.conf", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0644, st_size=30, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40009000
read(5, "scsi * * Scanner\n/dev/scanner\n"..., 4096) = 30
open("/proc/scsi/scsi", O_RDONLY) = 6
fstat(6, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4000a000
read(6, "Attached devices: \nHost: scsi0 "..., 1024) = 177
open("/dev/sga", O_RDWR) = 7
close(7) = 0
open("/proc/sys/kernel/sg-big-buff", O_RDONLY) = 7
read(7, "32768\n", 31) = 6
open("/dev/sga", O_RDWR|O_EXCL) = 8
ioctl(8, TIOCSCCINI, 0xbfffed6c) = 0
brk(0x8057000) = 0x8057000
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
write(8, "*\0\0\0\204\0\0\0\0\0\0\0\0\0\0\0"..., 42) = 42
sigprocmask(SIG_SETMASK, [], NULL) = 0
oldselect(9, [8], NULL, NULL, NULL) = 1 (in [8])
sigprocmask(SIG_BLOCK, ~[], []) = 0
read(8, "\204\0\0\0\204\0\0\0\0\0\0\0\0\0"..., 132) = 132
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
close(8) = 0
read(6, "", 1024) = 0
open("/dev/sga", O_RDWR) = 8
close(8) = 0
close(6) = 0
munmap(0x4000a000, 4096) = 0
open("/dev/scanner", O_RDWR|O_EXCL) = 6
ioctl(6, TIOCSCCINI, 0xbffff154) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
write(6, "*\0\0\0\204\0\0\0\1\0\0\0\0\0\0\0"..., 42) = 42
sigprocmask(SIG_SETMASK, [], NULL) = 0
oldselect(7, [6], NULL, NULL, NULL) = 1 (in [6])
sigprocmask(SIG_BLOCK, ~[], []) = 0
read(6, "\204\0\0\0\204\0\0\0\1\0\0\0\0\0"..., 132) = 132
sigprocmask(SIG_SETMASK, [], NULL) = 0
sigprocmask(SIG_BLOCK, ~[], []) = 0
sigprocmask(SIG_SETMASK, [], NULL) = 0
close(6) = 0
read(5, "", 4096) = 0
close(5) = 0
munmap(0x40009000, 4096) = 0
fstat(1, {st_mode=S_IFCHR|0666, st_rdev=makedev(3, 8), ...}) = 0
mmap(0, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40009000
ioctl(1, TCGETS, {B9600 opost isig icanon echo ...}) = 0
write(1, "device `pnm:0\' is a Noname PNM "..., 58) = 58
write(1, "device `pnm:1\' is a Noname PNM "..., 58) = 58
write(1, "device `microtek:/dev/scanner\' "..., 77) = 77
write(1, "device `microtek:/dev/sga\' is a"..., 73) = 73
munmap(0x400dc000, 16712) = 0
munmap(0x400e1000, 61992) = 0
_exit(0) = ?

--------------67C14B2085C7C278948CAA2A
Content-Type: text/plain; charset=us-ascii; name="scsi.c.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="scsi.c.diff"

--- Desktop/scsi.c Tue Jun 30 23:07:45 1998
+++ linux/drivers/scsi/scsi.c Tue Jun 30 23:29:41 1998
@@ -262,9 +262,10 @@
{"HP", "C1790A", "", BLIST_NOLUN}, /* scanjet iip */
{"HP", "C2500A", "", BLIST_NOLUN}, /* scanjet iicx */
{"YAMAHA", "CDR102", "1.00", BLIST_NOLUN}, /* extra reset */
-
-/*
- * Other types of devices that have special flags.
+{"MII SC21", "MSF300ZS SCANNER", "V4.2",BLIST_NOLUN},
+/* failed sense request lun>0 on aha152x */
+/*
+* Other types of devices that have special flags.
*/
{"SONY","CD-ROM CDU-8001","*", BLIST_BORKEN},
{"TEXEL","CD-ROM","1.06", BLIST_BORKEN},

--------------67C14B2085C7C278948CAA2A--

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