[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Addressing a SCSI film-scanner - long, sorry.

I have a CanoScan FS2710, which, by reports, can be made to work in linux.  It 
is, however, a SCSI device, and Control Center lists only one SCSI device, 
'Advanced Micro Devices [AMD] 53c974 [PCscsi].  It is a Tekram DC390, and 
googling turned up "The Linux DC390 PCI SCSI driver was originally written by 
a Tekram engineer to support the Tekram DC390(T) PCI Fast SCSI host adpator" 
so it seems that the scsi card is recognised.

I would, though, have expected the scanner to show up there, even if it was 
unrecognised.  I have downloaded the sane-canon backend and the FS2710 patch, 
but the installation instructions are several years old, so I'm not confident 
that they are correct for current kernels.  This is a section of the install 
instructions - the rest is more about usage than installation:
To install this SANE backend:

1) Get the SANE sources (from http://www.mostang.com/sane)
and install them. You will find the original canon backend. Do the complete 
installation for the canon backend as explained in the docs which you get
with the sources and test that it works.

2) Assuming you installed the SANE sources under /usr/local/src/sane, copy
this backend's files to the /usr/local/src/sane/backend directory,
overwriting the existing "canon*" files.

3) Go to /usr/local/src/sane and type "make".

4) Test the backend by typing "frontend/xscanimage canon:/dev/scanner"


Here are some assorted tips and information about the use of the
backend. They refer to the 2700F model, but they may also apply to the
300/600 models:

* There is a bug in file 'frontend/preview.c', that is, a bug in the
  'xscanimage' frontend. I include a modified version.  Only one line need
  be changed. The bug makes preview images look like diagonal stripes in
  certain cases. This has been reported and should be fixed in a future
  version of 'xscanimage'.

* There seems to be another bug in file '/usr/src/linux/drivers/scsi/sg.c'
  (many thanks to Jonathan Adams for pointing this out, I really got stucked
  for a long time until I knew about this). This bug makes some SCSI commands
  not work. Apparently not everyone gets the problem because depending on
  your SCSI configuration maybe you don't need 'sg.c'. If your computer hangs
  misteriously, edit the file and change the 'sg_write' procedure (near
  to where 'size=COMMAND_SIZE(opcode);' appears. Add the two lines:

    if ((opcode == 0xd4) || (opcode == 0xd5) || (opcode == 0xd6)) size = 6;

  before the line:		

    if (opcode >= 0xc0 && device->header.twelve_byte) size = 12;

  Then recompile the kernel (or the 'sg' module, if you use modules).

I know that xsane is installed in /usr/share/sane/ and the drivers appear to 
be in /usr/lib/sane so I'm assuming that I can ignore most of the 
instructions above.  The download is a .tar.gz, and includes a Makefile.  I 
presume that I can unpack the tarball anywhere I like?  Is it then just a 
matter of editing the prefix line in the Makefile?  And should that point 
to /usr/sane?

Finally, the FS2710 patch.  That contains 6 files, such as canon.c, 
canon.desc, canon.h....  I don't know what I'm supposed to do with that file.  
I can't see any similar files that would need to be overwritten.

I'd be glad of any help anyone can give.  I'm out of my depth - but still 
determined ;-)


Attachment: pgpqgeWOK2Y3p.pgp
Description: PGP signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]