1 2 BACKEND TECO1 3 4 5 6Relisys RELI 2412 (no ADF, no transparency adapter) 7single pass scanner - 300*1200 dpi - 8.5*14 8Inquiry: 9 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS 10 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+ 11 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 12 048: 4d 33 35 33 41 M353A 13Inquiry page 0x82 14 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 33 41 .....TECO VM353A 15 016: 20 56 31 2e 30 36 V1.06 16 17AVEC Colour 2412 18three pass scanner - 300*600 dpi - 8.5*14 19 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... 20 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 21 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V 22 048: 4d 33 35 32 41 M352A 23 24Avec Color Office 2400 (no ADF, no transparency adapter) 25three pass scanner - 300*600 dpi - 8.5*14 26Inquiry: 27 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0... 28 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner 29 032: 32 2e 30 34 32 2e 30 34 02 00 54 45 43 4f 20 56 2.042.04..TECO V 30 048: 4d 33 35 32 30 M3520 31Inquiry page 0x82 32 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 32 30 .....TECO VM3520 33 016: 20 56 32 2e 30 34 V2.04 34 35RELI 4830 (no ADF, with transparency adapter) 36 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS 37 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830 38 032: 31 2e 30 33 31 2e 30 33 02 00 54 45 43 4f 20 56 1.031.03..TECO V 39 048: 4d 34 35 34 32 M4542 40Inquiry page 0x82 41 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 34 35 34 32 .....TECO VM4542 42 016: 20 56 31 2e 30 33 V1.03 43 44Dextra DF-600P - VM3510 45 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M 46 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 47 032: 31 2E 31 37 31 2E 31 37 02 1.171.17. 48 49 50/*--------------------------------------------------------------------------*/ 51 52SCSI commands supported by the RELISYS VM3530+: 53 54TEST UNIT READY 5500 00 00 00 00 00 56 57REQ SENSE 5803 00 00 00 12 00 59 60VENDOR-09 6109 00 00 78 00 00 62 3-4 = length of data to receive. Always 30720 bytes. 63 Probably 12 lines of calibration at 300dpi. 64 8.5*300*12=30600 65 66VENDOR-0E (?) 670E 00 00 00 00 00 68 Always follows VENDOR-09 command 69 70INQUIRY: 7112 00 00 00 35 00 7212 01 82 00 21 00 73 standard inquiry 74 52 bytes - appears to never change 75 32-39: firmware version 76 42-52: real scanner name 77 78 page 0x82 (vendor specific) - real scanner name with version 79 0-3 = page header 80 4 = string length 81 5-21 = real scanner name with version 82 83MODE SELECT 8415 10 00 00 18 00 85 always sends: 86 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01 87 03 06 02 00 00 01 00 00 88 89 90SCAN 911B 00 00 00 00 00 92 93SET WINDOW 9424 00 00 00 00 00 00 00 63 00 95Total length is 99 96 07 = length (99-8 = 91) 97 10-11 = X Resolution 98 12-13 = Y resolution 99 14-17 = X top left corner 100 18-21 = Y top left corner 101 22-25 = width (size in inches * 300) 102 26-29 = length (size in inches * 300) 103 31 = 0x80 ? 104 33 = scan mode 105 0x00 = black & white 106 0x02 = grayscale 107 0x05 = color 108 34 = bit depth? - invariants, always 8 109 36 = dither pattern - only for B&W 110 0x00 = line art 111 0x01 = 2 X 2 112 0x02 = 3 X 3 113 0x03 = 4 X 4 Bayer 114 0x04 = 4 X 4 Smooth 115 0x05 = 8 X 8 Bayer 116 0x06 = 8 X 8 Smooth 117 0x07 = 8 X 8 Horizontal 118 0x08 = 8 X 8 Vertical 119 37 = 120 0x80 = RIF (VM353A only?) 121 63 = calibration? 122 0x00 yes 123 0x02 no 124 81 = ??? transparency adapter 125 0x00 no 126 0x01 yes 127 93 = 128 0x80 = ? (seems to activate a contrast value on VM353A) 129 130 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80 131 85, 89, 93, 97 = 0xff 132 133READ 13428 00 00 00 00 00 00 00 3E 00 135 6-8 = length 136 137SEND 1382A 00 03 00 00 02 00 04 00 00 139 2 = data type code 140 0x03 = gamma - 4*256 bytes 141 142GET DATA BUFFER STATUS 14334 01 00 00 00 00 00 00 12 00 144 1 = bit 1 is wait 145 7-8 allocation length 146 147 returned buffer is 0x10 bytes long. 148 0-2 = additional length (0x10-3 = 0x0D) 149 3 = reserved(?) 150 8 = ? 151 9-11 = filled data buffer 152 12-13 = number of lines (constant during a scan) 153 14-15 = bytes per line (constant during a scan) 154 155 156/*--------------------------------------------------------------------------*/ 157 158Command sequence 159(simplified, since the TWAIN driver seems to be quite stupid) 160 161Get some info: 162 INQUIRY 163 INQUIRY page 0x82 164 165Setup the scan: 166 TUR 167 MODE SELECT 168 SET WINDOWS 169 GET BUFFER STATUS 170 VENDOR-09 171 VENDOR-0E 172 SEND(10) 173 SET WINDOWS (same as the first one) 174 SCAN 175 176loop until all data read: 177 GET BUFFER STATUS 178 READ(10) if any data available 179 180park the CCD: 181 SET WINDOWS 182 SCAN 183 184/*--------------------------------------------------------------------------*/ 185 186The vendor specific command 0x09 and 0x0e are issued by the windows driver to the AVEC 2400, but the scanner rejects them. 187 188/*--------------------------------------------------------------------------*/ 189 190The Dextra DF600-P is a VM3510. It's older than the other scanner and 191is a little more primitive. The driver recognizes its scsi id and fake 192a more evolved one. The scan sequence is also simplified. The rest is 193identical. 194