[sane-devel] Mandrake 9.1 and ServeRAID 5i

abel deuring a.deuring@satzbau-gmbh.de
Tue, 16 Sep 2003 16:12:43 +0200


Henning Meier-Geinitz wrote:
> 
> Hi,
> 
> On Mon, Sep 15, 2003 at 03:32:50PM +0200, abel deuring wrote:
> > > Can you confirm that all that sane-find-scanner does is query the card,
> > > with only requests that must be safe according to the SCSI standard?
> >
> > "grep sanei_scsi_cmd sane-find-scanner.c" shows that sanei_scsi_cmd is
> > called only two times; in both cases an INQUIRY command is sent to the
> > device.
> 
> If only sane-find-scanner is used (not scanimage) there are only these
> two commands sent to each existing SCSI device (/dev/sg*). If both
> /dev/sga and /dev/sg0 exits, the device may be querried twice but not
> more. I would be sirprised if that's really the cause of the problem.

Yes, this sounds weird, but sane-find-scanner does not do more than to
send two INQUIRY commands to a SCSI device, which should not do any
harm.

> If you (the original author) used a very old version of SANE it might
> be possible that a bad link destroys data, e.g. "/dev/scanner ->
> /dev/sda". I have never actually tried if that really "works". But
> checking if there is a link /dev/scanner shouldn't harm.

Well, some RAID controllers have themselves an SG device file for
"maintenance purposes": to configure, which disks belong to an array, to
replace a disk in an array and whatever else you can do with a RAID
contoller. And the ServeRaid seems to be such a controller, so there is
a need for SG device file nodes under /dev. While this also means that
the virtual RAID disks will have both an SG and an SD device file, it
should not cause any risk to issue two INQUIRY commands to their SG
device file, if they behave well...

> I have never heard of anyone else having problems with sane-find-scanner
> and hard discs or disc arrays.

I neither, but Raf mentioned in his first mail a Mandrake support web
page, whichshows that he is not the only one who gets broken ServeRaid
RAID arrays, when harddrake tries to search for scanners.

Abel