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

322 wiersze
14 KiB
HTML
Czysty Zwykły widok Historia

<!-- 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>