Hello,<br>
&nbsp;&nbsp;&nbsp; I have some questions again on HP2400 current
development. How you people are checking code? i mean i have also same
code but neither scanimage -L is recognising nor Xsane detects it.<br>
then how can i check whatever features are implemented are correct or wrong?<br>
&nbsp;&nbsp; only sane-find-scanner command is working fine but not xsane. How can i calso check head movement?<br>
regards,<br>
Parag.<br><br><div><span class="gmail_quote">On 12/2/05, <b class="gmail_sendername">Gerald Murray</b> &lt;<a href="mailto:gmurray@cloudnet.com">gmurray@cloudnet.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello all,<br><br>Scanner: hp scanjet 2400<br>using sane-backends-cvs20051124<br><br>Expected completion date: unknown, it is ready when it is ready<br><br>Update from previous post:<br>key: - previously reported; + update :
<br><br>- Head moves two times the expected distance.<br>- Excessive time in genesys_warmup_lamp()<br>+ excessive time appears to be a result of an incorrect formula.<br>&nbsp;&nbsp;(the source was patched to force SANE_STATUS_GOOD, thereby ignoring
<br>&nbsp;&nbsp;the frontend setup, and attempting to be sure that head movements were<br>&nbsp;&nbsp;OK.&nbsp;&nbsp;I am to look into the frontend setup later)<br>- There was no image in the STDOUT output (file size 1523712)<br>- Status register for lamp reports OFF, but lamp remains ON.
<br>- Head remains where the scan stopped.<br>+ This is a FEATURE, not a bug.&nbsp;&nbsp;The scan process depends on every detail<br>&nbsp;&nbsp;being expected and correct.&nbsp;&nbsp;When a status other than SANE_STATUS_GOOD<br>&nbsp;&nbsp;is encountered, all processing stops whereever it was.&nbsp;&nbsp;This is good,
<br>&nbsp;&nbsp;because it assures that there can be no damage to the scanner as a<br>&nbsp;&nbsp;result of an unexpected reply from the device.&nbsp;&nbsp;The cause of the<br>&nbsp;&nbsp;problem was a result SANE_IO_ERROR, reported at the end<br>&nbsp;&nbsp;of the scan (miscalculation of bytes expected/received)
<br>- In lineart mode, depth:1 was what I expected.&nbsp;&nbsp;depth:8 was reported.<br><br>NEW:<br>+ The device responds inconsistently to the same scan request.<br>&nbsp;&nbsp;When the same request is executed sequentially many times, on the
<br>&nbsp;&nbsp;odd-numbered attempts, the scan completes, and goes to end of task.<br>&nbsp;&nbsp;On even-numbered attempts, the scan head never moves off of the home<br>&nbsp;&nbsp;position.&nbsp;&nbsp;(reading bulk data: Error during device I/O)<br>&nbsp;&nbsp;The error comes from not properly setting up the frontend during
<br>&nbsp;&nbsp;the lamp warmup.<br>&nbsp;&nbsp;NOTE: to duplicate this problem, install from cvs referenced above.<br>&nbsp;&nbsp;The source code is patched (see below) to force SANE_STATUS_GOOD<br>&nbsp;&nbsp;in function genesys_warmup_lamp().<br>&nbsp;&nbsp;Use scanimage from SOURCE_TOP_DIR/frontend/scanimage.
<br>&nbsp;&nbsp;Execute the bash command as shown below, substituting your<br>&nbsp;&nbsp;{BUS}/{DEVNUM} as shown in /proc/bus/usb/devices file for your scanner.<br>&nbsp;&nbsp;REMEMBER to keep the image size small until the size of the image<br>&nbsp;&nbsp;is corrected.
<br><br>#!/bin/sh<br>scanimage -d genesys:libusb:{BUS}:{DEVNUM} --resolution 150 --mode color -t 1 -l<br>80 -x100 -y 30 2&gt;scan.log 1&gt;image.pnm<br>#end<br>PATCH (DO NOT APPLY) This patch was how SANE_STATUS_GOOD was forced
<br>&nbsp;&nbsp;from genesys_warmup_lamp().&nbsp;&nbsp;The frontend is not setup right, so<br>&nbsp;&nbsp;the image is not correct, but it demonstrates motor handling of<br>&nbsp;&nbsp;the scan head and the inconsistent response from the device.<br><br>--- sane-backend-20051124/backend/genesys.c&nbsp;&nbsp;&nbsp;&nbsp; 2005-12-02 00:25:
55.000000000<br>-0600<br>+++ sane-backend-hack/backend/genesys.c 2005-12-02 00:24:45.000000000 -0600<br>@@ -3419,6 +3419,12 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBG (DBG_error,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;genesys_warmup_lamp: warmup timed out after %d seconds. Lamp
<br>defective?\n&quot;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seconds);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if
(seconds &gt; 40) {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* FIXME GPM:
remove 6 lines here */<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DBG(DBG_info,<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;genesys_warmup_lamp: ** ENOUGH (FIXME) **\n&quot;);<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status = SANE_STATUS_GOOD;<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;goto FIXME_hack_trick;<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; status = SANE_STATUS_IO_ERROR;
<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp; else<br>@@ -3427,6 +3433,7 @@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;genesys_warmup_lamp: warmup succeeded after %d seconds\n&quot;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seconds);<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br>+FIXME_hack_trick:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* FIXME remove this GPM */<br>
&nbsp;&nbsp; free (first_line);<br>&nbsp;&nbsp; free (second_line);<br>&nbsp;&nbsp; return status;<br>---- end-of-patch<br><br>best regards,<br>Gerald<br><br><br>--<br><br><br></blockquote></div><br>