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