diff options
author | kstailey <kstailey@cvs.openbsd.org> | 1997-03-08 21:21:38 +0000 |
---|---|---|
committer | kstailey <kstailey@cvs.openbsd.org> | 1997-03-08 21:21:38 +0000 |
commit | eb305e3c65485ed2caa35f3a43a43fafe8d24593 (patch) | |
tree | a261ff45de07a68047dabde48a8e0c92921c6d37 /sys/scsi/README.ss | |
parent | 6a3437e907a56d4a74b02d6df3f4a409b9bd2c84 (diff) |
some scanner driver docs
Diffstat (limited to 'sys/scsi/README.ss')
-rw-r--r-- | sys/scsi/README.ss | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sys/scsi/README.ss b/sys/scsi/README.ss new file mode 100644 index 00000000000..88603af1b12 --- /dev/null +++ b/sys/scsi/README.ss @@ -0,0 +1,35 @@ +$OpenBSD: README.ss,v 1.1 1997/03/08 21:21:37 kstailey Exp $ + +If you think SCSI tape drives are quirky you haven't seen anything. + +There are many SCSI scanners that don't use the SCSI Scanner protocol +with CDB's like SET_WINDOW. Instead they send Esc-code sequences over +the SCSI bus using the READ and WRITE operations. True brain death at +its finest. The HP ScanJet, the Sharp JX-600S and the Epson ES-300C +are among these. + +Ricoh, UMAX, Mustek, Fujitsu, Microtek on the other hand all try to +use the SCSI scanner protocol, but scanning, unlike reading a block +from a disk, is a multi-step operation. Certain steps must be +performed in sequence and the protocol does not define this. In +addition vendors are permitted by the SCSI spec. to have unique +additional features that the spec. does not fully define. Last but not +least vendors make mistakes in implementing the spec. + +My SCSI scanner driver architecture is designed to support scanners +two ways. + +The first way is used if a scanner uses CDB's like SET_WINDOW. The +driver code should be in ss.c and quirk tables and sequence strings +etc. can battle it out. This part is not fully implemented yet. +Work is being done on it from time to time. + +The other way is used when the driver is used with an +Esc-code-over-SCSI case like a ScanJet it installs an "operations +switch" so that parts of the code in ss.c can be bypassed. This +feature is implemented for ScanJets. Currently some Mustek scanners +use this approach, as the Mustek scanners use MODE_SELECT and not +SET_WINDOW to send parameter data. However it is possible that too +much code was farmed out to ss_mustek.c; it may be that common code +for ssread() in ss.c could be used. + |