Note: [2002-06-20] There seems to be a bug in the ST400 driver or maybe even the scanner firmware (probably only showing up with Linux Kernel 2.4.x). If you get distorted images, try setting "maxread" in st400.conf to 32768.
The Siemens "HighScan" ST400 is an ancient 1-pass SCSI flatbed scanner, supporting B&W and grayscale (6bit) in 200, 300 and 400 DPI. It is hardwired to SCSI ID 3 and answers to all 8 LUNs. In /proc/scsi/scsi on Linux, my scanner shows up as:
Host: scsi1 Channel: 00 Id: 03 Lun: 00 Vendor: SIEMENS Model: ST 400 Rev: GS04 Type: Scanner ANSI SCSI revision: 02
Although the inquiry data says SCSI-2, this scanner is in fact pre-SCSI-2 and uses slightly different SCSI command parameters - for example, the scan window dimensions are specified with 16bit-values instead of 32bit. Unfortunately, I have no documenation for this scanner (some time ago, I sent an email to Siemens asking for docs, but received no answer so far). All my programming information is from an old Amiga program (an updated version of this program can be found on the download section below) and a lot of try-and-error. Therefore this backend is about as minimal as a SANE driver can be.
The available options are (pasted output from scanimage -h):
--resolution 200|300|400dpi  Sets the resolution of the scanned image. --depth 1|8bit  Number of bits per sample, typical values are 1 for "line-art" and 8 for multibit scans. --threshold 0..100%  Select minimum-brightness to get a white point Geometry: -l 0..215.9mm  Top-left x position of scan area. -t 0..304.8mm  Top-left y position of scan area. -x 0..215.9mm  Width of scan-area. -y 0..304.8mm  Height of scan-area.
The --threshold option is only valid for a bit depth of 1. Instead of 6bit-values, the backend gives 8bit, as required by the SANE standard.
Version 1.6 was included in SANE 1.0.3, so newer versions are now automatically included in the default distribution, you don't need patches from this site.
Then re-run configure and make.
Any questions? Just send mail: Ingo.Wilken@informatik.uni-oldenburg.de