Hello,<br>
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>
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> <<a href="mailto:gmurray@cloudnet.com">gmurray@cloudnet.com</a>> 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> (the source was patched to force SANE_STATUS_GOOD, thereby ignoring
<br> the frontend setup, and attempting to be sure that head movements were<br> OK. 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. The scan process depends on every detail<br> being expected and correct. When a status other than SANE_STATUS_GOOD<br> is encountered, all processing stops whereever it was. This is good,
<br> because it assures that there can be no damage to the scanner as a<br> result of an unexpected reply from the device. The cause of the<br> problem was a result SANE_IO_ERROR, reported at the end<br> of the scan (miscalculation of bytes expected/received)
<br>- In lineart mode, depth:1 was what I expected. depth:8 was reported.<br><br>NEW:<br>+ The device responds inconsistently to the same scan request.<br> When the same request is executed sequentially many times, on the
<br> odd-numbered attempts, the scan completes, and goes to end of task.<br> On even-numbered attempts, the scan head never moves off of the home<br> position. (reading bulk data: Error during device I/O)<br> The error comes from not properly setting up the frontend during
<br> the lamp warmup.<br> NOTE: to duplicate this problem, install from cvs referenced above.<br> The source code is patched (see below) to force SANE_STATUS_GOOD<br> in function genesys_warmup_lamp().<br> Use scanimage from SOURCE_TOP_DIR/frontend/scanimage.
<br> Execute the bash command as shown below, substituting your<br> {BUS}/{DEVNUM} as shown in /proc/bus/usb/devices file for your scanner.<br> REMEMBER to keep the image size small until the size of the image<br> 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>scan.log 1>image.pnm<br>#end<br>PATCH (DO NOT APPLY) This patch was how SANE_STATUS_GOOD was forced
<br> from genesys_warmup_lamp(). The frontend is not setup right, so<br> the image is not correct, but it demonstrates motor handling of<br> the scan head and the inconsistent response from the device.<br><br>--- sane-backend-20051124/backend/genesys.c 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> DBG (DBG_error,<br> "genesys_warmup_lamp: warmup timed out after %d seconds. Lamp
<br>defective?\n",<br> seconds);<br>+ if
(seconds > 40) { /* FIXME GPM:
remove 6 lines here */<br>+ DBG(DBG_info,<br>+ "genesys_warmup_lamp: ** ENOUGH (FIXME) **\n");<br>+ status = SANE_STATUS_GOOD;<br>+ goto FIXME_hack_trick;<br>+ }<br> status = SANE_STATUS_IO_ERROR;
<br> }<br> else<br>@@ -3427,6 +3433,7 @@<br> "genesys_warmup_lamp: warmup succeeded after %d seconds\n",<br> seconds);<br> }<br>+FIXME_hack_trick: /* FIXME remove this GPM */<br>
free (first_line);<br> free (second_line);<br> return status;<br>---- end-of-patch<br><br>best regards,<br>Gerald<br><br><br>--<br><br><br></blockquote></div><br>