sane-project-website/old-archive/1999-07/0031.html

322 wiersze
14 KiB
HTML

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<!-- received="Sun Jul 4 23:24:02 1999 PDT" -->
<!-- sent="Mon, 5 Jul 1999 18:29:06 +1200 (NZST)" -->
<!-- name="henk van der knaap" -->
<!-- email="henkvand@es.co.nz" -->
<!-- subject="Re: Microtek Scanmaker 35t+" -->
<!-- id="" -->
<!-- inreplyto="Pine.LNX.4.10.9907041412250.1281-100000@henk" -->
<title>sane-devel: Re: Microtek Scanmaker 35t+</title>
<h1>Re: Microtek Scanmaker 35t+</h1>
<b>henk van der knaap</b> (<a href="mailto:henkvand@es.co.nz"><i>henkvand@es.co.nz</i></a>)<br>
<i>Mon, 5 Jul 1999 18:29:06 +1200 (NZST)</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#31">[ date ]</a><a href="index.html#31">[ thread ]</a><a href="subject.html#31">[ subject ]</a><a href="author.html#31">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0032.html">Oliver Rauch: "Re: UMAX parallel"</a>
<li> <b>Previous message:</b> <a href="0030.html">Jonathan A. Buzzard: "Re: UMAX parallel"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
On Sun, 4 Jul 1999, henk van der knaap wrote:<br>
<p>
<i>&gt; Hi,</i><br>
<i>&gt; </i><br>
<i>&gt; I have been trying to get a Microtek ScanMaker 35t+ to work with the SANE</i><br>
<i>&gt; package, version 1.0.1. So far I have had no luck. I would be very</i><br>
<i>&gt; grateful if someone could tell me if I can have any hope that this thing</i><br>
<i>&gt; will ever work under Linux!!!</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; Here is the debugging information:</i><br>
<i>&gt; </i><br>
<i>&gt; Script started on Sat Jun 26 17:49:23 1999</i><br>
<i>&gt; henk:~$ find-scanner</i><br>
<i>&gt; # You may want to run this program as super-user to find all devices.</i><br>
<i>&gt; # Once you found the scanner devices, be sure to adjust access</i><br>
<i>&gt; # permissions as necessary.</i><br>
<i>&gt; </i><br>
<i>&gt; find-scanner: found scanner "Microtek ScanMaker 35t+ 1.40" at device </i><br>
<i>&gt; /dev/scanner</i><br>
<i>&gt; find-scanner: found scanner "Microtek ScanMaker 35t+ 1.40" at device /dev/sg0</i><br>
<i>&gt; find-scanner: found scanner "Microtek ScanMaker 35t+ 1.40" at device /dev/sga</i><br>
<i>&gt; </i><br>
<i>&gt; henk:~$ scanimage Scanmaker 35t+ 1.40:/dev/scanner </i><br>
<i>&gt; [sanei_init_debug]: Setting debug level of microtek to 128.</i><br>
<i>&gt; [microtek] sane_init: MICROTEK says hello! (v0.9)</i><br>
<i>&gt; [microtek] sane_init: config- #Uncomment following line to disable "</i><br>
<i>&gt; clever precalibration" routines...</i><br>
<i>&gt; [microtek] sane_init: config- #noprecal</i><br>
<i>&gt; [microtek] sane_init: config- scsi * * Scanner</i><br>
<i>&gt; [microtek] attach_scanner: /dev/sga</i><br>
<i>&gt; [microtek] attach_scanner: opening /dev/sga</i><br>
<i>&gt; [microtek] attach_scanner: sending INQUIRY</i><br>
<i>&gt; [microtek] id_microtek...</i><br>
<i>&gt; [microtek] id_microtek: not microtek: -32, -45, 98</i><br>
<i>&gt; [microtek] attach_scanner: device doesn't look like a Microtek scanner.[microtek] dump_suspect_inquiry...</i><br>
<i>&gt; === SANE/Microtek backend v0.9 ===</i><br>
<i>&gt; ========== Scanner Inquiry Block ========mm</i><br>
<i>&gt; 06 31 19 01 5b 00 00 00 4d 69 63 72 6f 74 65 6b </i><br>
<i>&gt; 53 63 61 6e 4d 61 6b 65 72 20 33 35 74 2b 20 20 </i><br>
<i>&gt; 31 2e 34 30 53 43 53 49 20 46 2f 57 56 33 2e 34 </i><br>
<i>&gt; 20 43 54 4c 35 33 38 30 03 ef 8c c2 80 ec 62 23 </i><br>
<i>&gt; 01 03 23 01 00 83 00 01 0e 0e 01 05 00 00 00 00 </i><br>
<i>&gt; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff </i><br>
<i>&gt; </i><br>
<i>&gt; ========== Scanner Inquiry Report ==========</i><br>
<i>&gt; ===== Scanner ID...</i><br>
<i>&gt; Device Type Code: 0x06</i><br>
<i>&gt; Model Code: 0x62</i><br>
<i>&gt; Vendor Name: 'Microtek' Model Name: 'ScanMaker 35t+ '</i><br>
<i>&gt; Firmware Rev: '1.40<EFBFBD>'</i><br>
<i>&gt; SCSI F/W version: 3.1 Scanner F/W version: 1.9</i><br>
<i>&gt; Response data format: 0x01</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; [microtek] sane_init: config- /dev/scanner</i><br>
<i>&gt; [microtek] attach_scanner: /dev/scanner</i><br>
<i>&gt; [microtek] attach_scanner: opening /dev/scanner</i><br>
<i>&gt; [microtek] attach_scanner: sending INQUIRY</i><br>
<i>&gt; [microtek] id_microtek...</i><br>
<i>&gt; [microtek] id_microtek: not microtek: -32, -45, 98</i><br>
<i>&gt; [microtek] attach_scanner: device doesn't look like a Microtek scanner.[microtek] dump_suspect_inquiry...</i><br>
<i>&gt; === SANE/Microtek backend v0.9 ===</i><br>
<i>&gt; ========== Scanner Inquiry Block ========mm</i><br>
<i>&gt; 06 31 19 01 5b 00 00 00 4d 69 63 72 6f 74 65 6b </i><br>
<i>&gt; 53 63 61 6e 4d 61 6b 65 72 20 33 35 74 2b 20 20 </i><br>
<i>&gt; 31 2e 34 30 53 43 53 49 20 46 2f 57 56 33 2e 34 </i><br>
<i>&gt; 20 43 54 4c 35 33 38 30 03 ef 8c c2 80 ec 62 23 </i><br>
<i>&gt; 01 03 23 01 00 83 00 01 0e 0e 01 05 00 00 00 00 </i><br>
<i>&gt; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff </i><br>
<i>&gt; </i><br>
<i>&gt; ========== Scanner Inquiry Report ==========</i><br>
<i>&gt; ===== Scanner ID...</i><br>
<i>&gt; Device Type Code: 0x06</i><br>
<i>&gt; Model Code: 0x62</i><br>
<i>&gt; Vendor Name: 'Microtek' Model Name: 'ScanMaker 35t+ '</i><br>
<i>&gt; Firmware Rev: '1.40'</i><br>
<i>&gt; SCSI F/W version: 3.1 Scanner F/W version: 1.9</i><br>
<i>&gt; Response data format: 0x01</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; [microtek] sane_get_devices</i><br>
<i>&gt; scanimage: sane_start: Invalid argument</i><br>
<i>&gt; [microtek] sane_exit...</i><br>
<i>&gt; [microtek] sane_exit: MICROTEK says goodbye.</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; Here is some output from mtekscan: </i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; Script started on Sat Jun 26 17:59:27 1999</i><br>
<i>&gt; henk:~$ mtekscan -I</i><br>
<i>&gt; Vendor/model: Microtek ScanMaker 35t+ </i><br>
<i>&gt; Firmware revision no. 1.40, device type 06.</i><br>
<i>&gt; SCSI firmware version: 3.1, scanner firmware version: 9.9</i><br>
<i>&gt; Response data format: 0x01</i><br>
<i>&gt; Resolution selection stepsize: 1% 5% </i><br>
<i>&gt; Supported scanning modes: Lineart Halftone Multi-Bit Color Transparencies </i><br>
<i>&gt; Negative</i><br>
<i>&gt; One-pass color scanning supported</i><br>
<i>&gt; 12 built-in halftone patterns, pattern downloading supported</i><br>
<i>&gt; Scanner is edge feed type</i><br>
<i>&gt; Huffman data compression: no, Read data compression: no</i><br>
<i>&gt; Frame &amp; paper length setting units: 1/8" pixels </i><br>
<i>&gt; Max. document size code is 0x80 - 35.00 x 35.00 mm</i><br>
<i>&gt; 14 contrast settings, 12 exposure time settings</i><br>
<i>&gt; Model code : 0x62 (unknown model code)</i><br>
<i>&gt; F/W does support document feeder,</i><br>
<i>&gt; F/W does support feeder/backtracking enable/disable</i><br>
<i>&gt; Feeder is not installed </i><br>
<i>&gt; Type / Location code is unknown (0x02)</i><br>
<i>&gt; Transparency illuminator is not installed</i><br>
<i>&gt; Expanded resolution range: yes</i><br>
<i>&gt; Shadow/highlight adjustment supported, midtone adjustment supported</i><br>
<i>&gt; Gamma adjustment look-up table size: 1024 bytes</i><br>
<i>&gt; Max. value: 1023 (entry length 2 bytes)</i><br>
<i>&gt; Fast color prescan supported, data transfer format select not supported</i><br>
<i>&gt; Color data sequencing: Line by line, non-R-G-B sequence, with data headers</i><br>
<i>&gt; Three pass scanning supported</i><br>
<i>&gt; MODE SELECT 1 and MODE SENSE 1 command supported</i><br>
<i>&gt; cntr_vals = 14, min_cntr = -42, max_cntr = 49</i><br>
<i>&gt; exp_vals = 14, min_exp = -18, max_exp = 21</i><br>
<i>&gt; Supported multi-bit data formats: 4 bpp 8 bpp </i><br>
<i>&gt; Offset adjustment (digital brightness control) supported</i><br>
<i>&gt; Linearization table can not be disabled</i><br>
<i>&gt; Start-of-scan recalibration function can be disabled</i><br>
<i>&gt; </i><br>
<i>&gt; henk:~$ mtekscan -S</i><br>
<i>&gt; mtekscan: Performing scanner selftest...</i><br>
<i>&gt; mtekscan: Selftest result code 0x00 (no failures).</i><br>
<i>&gt; henk:~$ exit</i><br>
<i>&gt; exit</i><br>
<i>&gt; </i><br>
<i>&gt; Script done on Sat Jun 26 18:00:12 1999</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; I would be very grateful if anybody could make some comments please. </i><br>
<i>&gt; </i><br>
<i>&gt; Greetings</i><br>
<i>&gt; </i><br>
<i>&gt; Henk</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; Henk van der Knaap,</i><br>
<i>&gt; 92 Halswell Junction Road,</i><br>
<i>&gt; Christchurch, New Zealand.</i><br>
<i>&gt; Phone/fax 64 3 3229185</i><br>
<i>&gt; </i><br>
<i>&gt; My Operating system is Linux Debian 2.1</i><br>
<i>&gt; ===================================================</i><br>
<i>&gt; My e-mail address is as follows: <a href="mailto:henkvand@es.co.nz">henkvand@es.co.nz</a></i><br>
<i>&gt; ===================================================</i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<i>&gt; --</i><br>
<i>&gt; Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a></i><br>
<i>&gt; To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a></i><br>
<i>&gt; </i><br>
<i>&gt; </i><br>
<p>
Dear Readers,<br>
<p>
I have now been able to solve the problem thanks to a hint from Regis<br>
Rampnoux.<br>
<p>
To get the Microtek Scanmaker 35t+ to work I have made a small change to<br>
the file microtek.c<br>
<p>
My scanner reports its name as "Microtek", not "MICROTEK". Apparently not<br>
all models are the same. The software reported my scanner not to be a<br>
microtek scanner, because Microtek was not in capital letters. With this<br>
small change it now works.<br>
<p>
I have added the line:<br>
<p>
!(strncmp("Microtek", &amp;(result[8]), 8)) || <br>
<p>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
<p>
/********************************************************************/<br>
/* Determine if device is a Microtek Scanner (from INQUIRY info) */<br>
/********************************************************************/<br>
static SANE_Status<br>
id_microtek(u_int8_t *result, char **model_string)<br>
{<br>
SANE_Byte device_type, response_data_format;<br>
<p>
DBG(15, "id_microtek...\n");<br>
/* check device type first... */<br>
device_type = (SANE_Byte)(result[0] &amp; 0x1f);<br>
if (device_type != 0x06) {<br>
DBG(15, "id_microtek: not even a scanner: dev_type = %d\n",<br>
device_type);<br>
return SANE_STATUS_INVAL;<br>
}<br>
if (!(strncmp("MICROTEK", &amp;(result[8]), 8)) ||<br>
!(strncmp("Microtek", &amp;(result[8]), 8)) || <br>
!(strncmp("MII SC31", &amp;(result[8]), 8)) || /* for the IISP */<br>
!(strncmp("MII SC21", &amp;(result[8]), 8)) || /* for the 600ZS */<br>
!(strncmp("AGFA ", &amp;(result[8]), 8)) || /* for Arcus II */<br>
!(strncmp(" ", &amp;(result[8]), 8)) ) {<br>
switch (result[62]) {<br>
case 0x50 :<br>
*model_string = "ScanMaker II/IIXE"; break;<br>
case 0x51 :<br>
*model_string = "ScanMaker 45t"; break;<br>
case 0x52 :<br>
*model_string = "ScanMaker 35t"; break;<br>
case 0x54 :<br>
*model_string = "ScanMaker IISP"; break;<br>
case 0x55 :<br>
*model_string = "ScanMaker IIER"; break;<br>
case 0x56 :<br>
*model_string = "ScanMaker A3t"; break;<br>
case 0x57 :<br>
*model_string = "ScanMaker IIHR"; break;<br>
case 0x58 :<br>
*model_string = "ScanMaker IIG"; break;<br>
case 0x59 :<br>
*model_string = "ScanMaker III"; break;<br>
case 0x5A :<br>
*model_string = "Agfa StudioScan"; break;<br>
case 0x5B :<br>
*model_string = "Agfa StudioScan II"; break;<br>
case 0x5C :<br>
*model_string = "Agfa Arcus II"; break;<br>
case 0x5f :<br>
*model_string = "ScanMaker E3"; break;<br>
case 0x62 :<br>
*model_string = "ScanMaker 35t+"; break;<br>
case 0x63 :<br>
case 0x66 :<br>
*model_string = "ScanMaker E6"; break;<br>
case 0x64 : /* and "Vobis RealScan" */<br>
*model_string = "ScanMaker E2"; break;<br>
case 0xC8:<br>
*model_string = "ScanMaker 600ZS"; break;<br>
default :<br>
/* this might be a newer scanner, which uses the SCSI II command set. */<br>
/* that's unfortunate, but we'll warn the user anyway.... */<br>
response_data_format = (SANE_Byte)(result[3]);<br>
if (response_data_format == 0x02) {<br>
DBG(15, "id_microtek: (uses new SCSI II command set)\n");<br>
if (DBG_LEVEL &gt;= 15) {<br>
fprintf(stderr, "\n\n\n");<br>
fprintf(stderr, "========== Congratulations! ==========\n");<br>
fprintf(stderr, "You appear to be the proud owner of a \n");<br>
fprintf(stderr, "brand-new Microtek scanner, which uses\n");<br>
fprintf(stderr, "a new SCSI II command set. \n");<br>
fprintf(stderr, "\n");<br>
fprintf(stderr, "Try the `microtek2' backend instead. \n");<br>
fprintf(stderr, "\n\n\n");<br>
}<br>
}<br>
return SANE_STATUS_INVAL;<br>
}<br>
return SANE_STATUS_GOOD;<br>
}<br>
DBG(15, "id_microtek: not microtek: %d, %d, %d\n",<br>
strncmp("MICROTEK", &amp;(result[8]), 8),<br>
strncmp(" ", &amp;(result[8]), 8),<br>
result[62]);<br>
return SANE_STATUS_INVAL;<br>
}<br>
<p>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
<p>
<p>
Greetings from <br>
<p>
Henk<br>
<p>
Henk van der Knaap,<br>
92 Halswell Junction Road,<br>
Christchurch, New Zealand.<br>
Phone/fax 64 3 3229185<br>
<p>
My Operating system is Linux Debian 2.1<br>
===================================================<br>
My e-mail address is as follows: <a href="mailto:henkvand@es.co.nz">henkvand@es.co.nz</a><br>
===================================================<br>
<p>
<p>
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0032.html">Oliver Rauch: "Re: UMAX parallel"</a>
<li> <b>Previous message:</b> <a href="0030.html">Jonathan A. Buzzard: "Re: UMAX parallel"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>