xref: /third_party/backends/doc/teco/teco1.txt (revision 141cc406)
1141cc406Sopenharmony_ci
2141cc406Sopenharmony_ci          BACKEND TECO1
3141cc406Sopenharmony_ci
4141cc406Sopenharmony_ci
5141cc406Sopenharmony_ci
6141cc406Sopenharmony_ciRelisys RELI 2412 (no ADF, no transparency adapter)
7141cc406Sopenharmony_cisingle pass scanner - 300*1200 dpi - 8.5*14
8141cc406Sopenharmony_ciInquiry:
9141cc406Sopenharmony_ci   000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20    ....0...RELISYS
10141cc406Sopenharmony_ci   016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20    VM3530+
11141cc406Sopenharmony_ci   032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56    1.081.08..TECO V
12141cc406Sopenharmony_ci   048: 4d 33 35 33 41                                     M353A
13141cc406Sopenharmony_ciInquiry page 0x82
14141cc406Sopenharmony_ci   000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 33 41    .....TECO VM353A
15141cc406Sopenharmony_ci   016: 20 56 31 2e 30 36                                   V1.06
16141cc406Sopenharmony_ci
17141cc406Sopenharmony_ciAVEC Colour 2412
18141cc406Sopenharmony_cithree pass scanner - 300*600 dpi - 8.5*14
19141cc406Sopenharmony_ci    000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20    ....0...
20141cc406Sopenharmony_ci    016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20    Image Scanner
21141cc406Sopenharmony_ci    032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56    1.081.08..TECO V
22141cc406Sopenharmony_ci    048: 4d 33 35 32 41                                     M352A
23141cc406Sopenharmony_ci
24141cc406Sopenharmony_ciAvec Color Office 2400 (no ADF, no transparency adapter)
25141cc406Sopenharmony_cithree pass scanner - 300*600 dpi - 8.5*14
26141cc406Sopenharmony_ciInquiry:
27141cc406Sopenharmony_ci   000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20    ....0...
28141cc406Sopenharmony_ci   016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20    Image Scanner
29141cc406Sopenharmony_ci   032: 32 2e 30 34 32 2e 30 34 02 00 54 45 43 4f 20 56    2.042.04..TECO V
30141cc406Sopenharmony_ci   048: 4d 33 35 32 30                                     M3520
31141cc406Sopenharmony_ciInquiry page 0x82
32141cc406Sopenharmony_ci   000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 32 30    .....TECO VM3520
33141cc406Sopenharmony_ci   016: 20 56 32 2e 30 34                                   V2.04
34141cc406Sopenharmony_ci
35141cc406Sopenharmony_ciRELI 4830 (no ADF, with transparency adapter)
36141cc406Sopenharmony_ci   000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20    ....0...RELISYS
37141cc406Sopenharmony_ci   016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20    RELI 4830
38141cc406Sopenharmony_ci   032: 31 2e 30 33 31 2e 30 33 02 00 54 45 43 4f 20 56    1.031.03..TECO V
39141cc406Sopenharmony_ci   048: 4d 34 35 34 32                                     M4542
40141cc406Sopenharmony_ciInquiry page 0x82
41141cc406Sopenharmony_ci   000: 06 82 00 12 11 54 45 43 4f 20 56 4d 34 35 34 32    .....TECO VM4542
42141cc406Sopenharmony_ci   016: 20 56 31 2e 30 33                                  V1.03
43141cc406Sopenharmony_ci
44141cc406Sopenharmony_ciDextra DF-600P - VM3510
45141cc406Sopenharmony_ci   000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20    ....$...DF-600M
46141cc406Sopenharmony_ci   016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
47141cc406Sopenharmony_ci   032: 31 2E 31 37 31 2E 31 37 02                         1.171.17.
48141cc406Sopenharmony_ci
49141cc406Sopenharmony_ci
50141cc406Sopenharmony_ci/*--------------------------------------------------------------------------*/
51141cc406Sopenharmony_ci
52141cc406Sopenharmony_ciSCSI commands supported by the RELISYS VM3530+:
53141cc406Sopenharmony_ci
54141cc406Sopenharmony_ciTEST UNIT READY
55141cc406Sopenharmony_ci00 00 00 00 00 00
56141cc406Sopenharmony_ci
57141cc406Sopenharmony_ciREQ SENSE
58141cc406Sopenharmony_ci03 00 00 00 12 00
59141cc406Sopenharmony_ci
60141cc406Sopenharmony_ciVENDOR-09
61141cc406Sopenharmony_ci09 00 00 78 00 00
62141cc406Sopenharmony_ci  3-4 = length of data to receive. Always 30720 bytes.
63141cc406Sopenharmony_ci        Probably 12 lines of calibration at 300dpi.
64141cc406Sopenharmony_ci        8.5*300*12=30600
65141cc406Sopenharmony_ci
66141cc406Sopenharmony_ciVENDOR-0E (?)
67141cc406Sopenharmony_ci0E 00 00 00 00 00
68141cc406Sopenharmony_ci  Always follows VENDOR-09 command
69141cc406Sopenharmony_ci
70141cc406Sopenharmony_ciINQUIRY:
71141cc406Sopenharmony_ci12 00 00 00 35 00
72141cc406Sopenharmony_ci12 01 82 00 21 00
73141cc406Sopenharmony_ci  standard inquiry
74141cc406Sopenharmony_ci    52 bytes - appears to never change
75141cc406Sopenharmony_ci    32-39: firmware version
76141cc406Sopenharmony_ci    42-52: real scanner name
77141cc406Sopenharmony_ci
78141cc406Sopenharmony_ci  page 0x82 (vendor specific) - real scanner name with version
79141cc406Sopenharmony_ci     0-3 = page header
80141cc406Sopenharmony_ci       4 = string length
81141cc406Sopenharmony_ci    5-21 = real scanner name with version
82141cc406Sopenharmony_ci
83141cc406Sopenharmony_ciMODE SELECT
84141cc406Sopenharmony_ci15 10 00 00 18 00
85141cc406Sopenharmony_ci  always sends:
86141cc406Sopenharmony_ci    00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01
87141cc406Sopenharmony_ci	03 06 02 00 00 01 00 00
88141cc406Sopenharmony_ci
89141cc406Sopenharmony_ci
90141cc406Sopenharmony_ciSCAN
91141cc406Sopenharmony_ci1B 00 00 00 00 00
92141cc406Sopenharmony_ci
93141cc406Sopenharmony_ciSET WINDOW
94141cc406Sopenharmony_ci24 00 00 00 00 00 00 00 63 00
95141cc406Sopenharmony_ciTotal length is 99
96141cc406Sopenharmony_ci  07 = length (99-8 = 91)
97141cc406Sopenharmony_ci  10-11 = X Resolution
98141cc406Sopenharmony_ci  12-13 = Y resolution
99141cc406Sopenharmony_ci  14-17 = X top left corner
100141cc406Sopenharmony_ci  18-21 = Y top left corner
101141cc406Sopenharmony_ci  22-25 = width  (size in inches * 300)
102141cc406Sopenharmony_ci  26-29 = length (size in inches * 300)
103141cc406Sopenharmony_ci  31 = 0x80 ?
104141cc406Sopenharmony_ci  33 = scan mode
105141cc406Sopenharmony_ci        0x00 = black & white
106141cc406Sopenharmony_ci        0x02 = grayscale
107141cc406Sopenharmony_ci		0x05 = color
108141cc406Sopenharmony_ci  34 = bit depth? - invariants, always 8
109141cc406Sopenharmony_ci  36 = dither pattern - only for B&W
110141cc406Sopenharmony_ci     0x00 = line art
111141cc406Sopenharmony_ci	 0x01 = 2 X 2
112141cc406Sopenharmony_ci	 0x02 = 3 X 3
113141cc406Sopenharmony_ci	 0x03 = 4 X 4 Bayer
114141cc406Sopenharmony_ci	 0x04 = 4 X 4 Smooth
115141cc406Sopenharmony_ci	 0x05 = 8 X 8 Bayer
116141cc406Sopenharmony_ci	 0x06 = 8 X 8 Smooth
117141cc406Sopenharmony_ci	 0x07 = 8 X 8 Horizontal
118141cc406Sopenharmony_ci	 0x08 = 8 X 8 Vertical
119141cc406Sopenharmony_ci  37 =
120141cc406Sopenharmony_ci     0x80 = RIF (VM353A only?)
121141cc406Sopenharmony_ci  63 = calibration?
122141cc406Sopenharmony_ci        0x00 yes
123141cc406Sopenharmony_ci        0x02 no
124141cc406Sopenharmony_ci  81 = ??? transparency adapter
125141cc406Sopenharmony_ci        0x00 no
126141cc406Sopenharmony_ci        0x01 yes
127141cc406Sopenharmony_ci  93 =
128141cc406Sopenharmony_ci     0x80 = ? (seems to activate a contrast value on VM353A)
129141cc406Sopenharmony_ci
130141cc406Sopenharmony_ci  37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80
131141cc406Sopenharmony_ci  85, 89, 93, 97 = 0xff
132141cc406Sopenharmony_ci
133141cc406Sopenharmony_ciREAD
134141cc406Sopenharmony_ci28 00 00 00 00 00 00 00 3E 00
135141cc406Sopenharmony_ci  6-8 = length
136141cc406Sopenharmony_ci
137141cc406Sopenharmony_ciSEND
138141cc406Sopenharmony_ci2A 00 03 00 00 02 00 04 00 00
139141cc406Sopenharmony_ci  2 = data type code
140141cc406Sopenharmony_ci       0x03 = gamma - 4*256 bytes
141141cc406Sopenharmony_ci
142141cc406Sopenharmony_ciGET DATA BUFFER STATUS
143141cc406Sopenharmony_ci34 01 00 00 00 00 00 00 12 00
144141cc406Sopenharmony_ci  1 = bit 1 is wait
145141cc406Sopenharmony_ci  7-8 allocation length
146141cc406Sopenharmony_ci
147141cc406Sopenharmony_ci  returned buffer is 0x10 bytes long.
148141cc406Sopenharmony_ci    0-2 = additional length (0x10-3 = 0x0D)
149141cc406Sopenharmony_ci      3 = reserved(?)
150141cc406Sopenharmony_ci      8 = ?
151141cc406Sopenharmony_ci   9-11 = filled data buffer
152141cc406Sopenharmony_ci  12-13 = number of lines (constant during a scan)
153141cc406Sopenharmony_ci  14-15 = bytes per line (constant during a scan)
154141cc406Sopenharmony_ci
155141cc406Sopenharmony_ci
156141cc406Sopenharmony_ci/*--------------------------------------------------------------------------*/
157141cc406Sopenharmony_ci
158141cc406Sopenharmony_ciCommand sequence
159141cc406Sopenharmony_ci(simplified, since the TWAIN driver seems to be quite stupid)
160141cc406Sopenharmony_ci
161141cc406Sopenharmony_ciGet some info:
162141cc406Sopenharmony_ci  INQUIRY
163141cc406Sopenharmony_ci  INQUIRY page 0x82
164141cc406Sopenharmony_ci
165141cc406Sopenharmony_ciSetup the scan:
166141cc406Sopenharmony_ci  TUR
167141cc406Sopenharmony_ci  MODE SELECT
168141cc406Sopenharmony_ci  SET WINDOWS
169141cc406Sopenharmony_ci  GET BUFFER STATUS
170141cc406Sopenharmony_ci  VENDOR-09
171141cc406Sopenharmony_ci  VENDOR-0E
172141cc406Sopenharmony_ci  SEND(10)
173141cc406Sopenharmony_ci  SET WINDOWS (same as the first one)
174141cc406Sopenharmony_ci  SCAN
175141cc406Sopenharmony_ci
176141cc406Sopenharmony_ciloop until all data read:
177141cc406Sopenharmony_ci  GET BUFFER STATUS
178141cc406Sopenharmony_ci  READ(10) if any data available
179141cc406Sopenharmony_ci
180141cc406Sopenharmony_cipark the CCD:
181141cc406Sopenharmony_ci  SET WINDOWS
182141cc406Sopenharmony_ci  SCAN
183141cc406Sopenharmony_ci
184141cc406Sopenharmony_ci/*--------------------------------------------------------------------------*/
185141cc406Sopenharmony_ci
186141cc406Sopenharmony_ciThe vendor specific command 0x09 and 0x0e are issued by the windows driver to the AVEC 2400, but the scanner rejects them.
187141cc406Sopenharmony_ci
188141cc406Sopenharmony_ci/*--------------------------------------------------------------------------*/
189141cc406Sopenharmony_ci
190141cc406Sopenharmony_ciThe Dextra DF600-P is a VM3510. It's older than the other scanner and
191141cc406Sopenharmony_ciis a little more primitive. The driver recognizes its scsi id and fake
192141cc406Sopenharmony_cia more evolved one. The scan sequence is also simplified. The rest is
193141cc406Sopenharmony_ciidentical.
194