[sane-devel] sane-find-scanner no longer finding scanner on mdk8.1

Douglas Gilbert dgilbert@interlog.com
Mon, 22 Oct 2001 23:40:50 -0400


Yves Duret wrote:
> 
> sane@michael.mailshell.com writes:
> 
> > I have a Cannon FS2710:
> >
> > [root@corwin@mir scsi]# cat /proc/scsi/scsi
> > Attached devices:
> > Host: scsi0 Channel: 00 Id: 02 Lun: 00
> >   Vendor: CANON    Model: IX-27025E        Rev: 1.13
> >   Type:   Scanner                          ANSI SCSI revision: 02
> > Host: scsi1 Channel: 00 Id: 00 Lun: 00
> >   Vendor: RICOH    Model: CD-R/RW MP7040A  Rev: 1.1k
> >   Type:   CD-ROM                           ANSI SCSI revision: 02
> >
> > This dir has nothing in it: /dev/scsi/host0/bus0/target2/lun0

Yves,
Try 'modprobe sg' and that directory should contain "generic"
which should be a char dev, major 21 and minor 0. In the
pre-devfs world that would have been known as /dev/sg0 .
A directory like /dev/scsi/host0/bus0/target2/lun0 indicates
that a SCSI upper level driver that will register that
device has _not_ been loaded. The sg driver registers all
SCSI devices (sr_mod registers only cdroms/dvds, etc).

Now I changed the Linux scanning code in SANE 1.0.5 but
unfortunately I didn't foresee a major distribution using
devfs so soon. The scan algorithm does not probe down
the /dev/scsi/host* trees.

So if devfsd (i.e. the devfs daemon) is running and
/etc/devfsd.conf is properly configured then
/dev/sg0 should be a symbolic link to
/dev/scsi/host0/bus0/target2/lun0/generic .
That will _not_ happen until the sg module is loaded.

Hence there is a "chicken and the egg" problem here. Previously
trying to open /dev/sg0 had the side effect of loading the
sg module if it was not already loaded. Now that symbolic link
doesn't exist until sg is loaded.

> >
> > It worked fine until I reinstalled Mandrake 8.1. Now 
> > sane-find-scanner no longer detects it. I did have it running 
> > with Mdk8.0 under the same kernel... I have no clue how to 
> > make entries in /dev (other than sym links), and I thought 
> > the devfs junk was suppose to do that transparently.
> 
> and if you boot without devfs (devfs=nomount at lilo/grub prompt) with your
> 8.1 ?

Apologies if I have indented the above incorrectly.
Devfs is not junk but unfortunately is does not
have a separate category for scanners (it does
have directories for disks, cdroms and tapes). This
makes scanning a little more challenging.

Yves, I was told Mandrake 8.1 might contain my scsimon
driver which would deliver hotplug alerts when any
SCSI device was attached. Devices with a SCSI type
of SCANNER or PROCESSOR (for HP scanners) should load
sg.


Doug Gilbert