kopia lustrzana https://gitlab.com/sane-project/website
115 wiersze
6.2 KiB
HTML
115 wiersze
6.2 KiB
HTML
<!-- received="Tue Dec 28 13:35:35 1999 PST" -->
|
||
<!-- sent="Tue, 28 Dec 1999 16:36:45 -0600 (CST)" -->
|
||
<!-- name="David E. Nelson" -->
|
||
<!-- email="dnelson@jump.net" -->
|
||
<!-- subject="Re: Volunteer for back end development - excellent info in this msg" -->
|
||
<!-- id="" -->
|
||
<!-- inreplyto="199912282028.MAA18037@mail11.bigmailbox.com" -->
|
||
<title>sane-devel: Re: Volunteer for back end development - excellent info in this msg</title>
|
||
<h1>Re: Volunteer for back end development - excellent info in this msg</h1>
|
||
<b>David E. Nelson</b> (<a href="mailto:dnelson@jump.net"><i>dnelson@jump.net</i></a>)<br>
|
||
<i>Tue, 28 Dec 1999 16:36:45 -0600 (CST)</i>
|
||
<p>
|
||
<ul>
|
||
<li> <b>Messages sorted by:</b> <a href="date.html#188">[ date ]</a><a href="index.html#188">[ thread ]</a><a href="subject.html#188">[ subject ]</a><a href="author.html#188">[ author ]</a>
|
||
<!-- next="start" -->
|
||
<li> <b>Next message:</b> <a href="0189.html">Ekkard Gerlach: "Re: can't compile sane 1.00 with pgcc-2.91.66"</a>
|
||
<li> <b>Previous message:</b> <a href="0187.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<li> <b>In reply to:</b> <a href="0187.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<!-- nextthread="start" -->
|
||
<li> <b>Next in thread:</b> <a href="0195.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<!-- reply="end" -->
|
||
</ul>
|
||
<!-- body="start" -->
|
||
Hi Adrian,<br>
|
||
<p>
|
||
Comments below...<br>
|
||
<p>
|
||
On Tue, 28 Dec 1999, Adrian Perez Jorge wrote:<br>
|
||
<p>
|
||
<i>> Dear Mat,</i><br>
|
||
<i>> Dear David,</i><br>
|
||
<i>> </i><br>
|
||
<i>> I would be very pleased if you, Mat, could tell me who are you trying</i><br>
|
||
<i>> to read/write `lm9830' registers. Initialy, I was confused and I</i><br>
|
||
<i>> thought HP4200C was using `lm9831'---because it has an USB interface---</i><br>
|
||
<i>> and I was trying to read/write <reg address>+<value> to the</i><br>
|
||
<i>> `/dev/usbscanner' file. Now, I know I was wrong. I can't believe my</i><br>
|
||
<i>> HP4200C scanner is really a parallel port scanner hacked with some USB</i><br>
|
||
<i>> interface... (but it's quick!)</i><br>
|
||
<p>
|
||
Funky ain't it....<br>
|
||
<p>
|
||
<i>> Well.. the main problem is: then how this interface works?</i><br>
|
||
<i>> </i><br>
|
||
<i>> I have been tracing (debugger) the Windowze driver (`hpad32.dll').</i><br>
|
||
<i>> I have the initial values of `lm9830' registers that this driver</i><br>
|
||
<i>> writes (from 08-5f), and I have seen the driver sending the '99 66 cc</i><br>
|
||
<i>> 33' sequence (switching transparent mode).</i><br>
|
||
<p>
|
||
Good. The lm9830 docs support this.<br>
|
||
<p>
|
||
<i>> Now, I think write/read operations to lm930 registers doesn't use bulk</i><br>
|
||
<i>> transfers; the Windoze driver uses `control vendor requests' (note</i><br>
|
||
<i>> that I'm not an USB expert at all.), and I think (David, correct me)</i><br>
|
||
<i>> Linux usbscanner driver uses bulk transfers to communicate with the</i><br>
|
||
<i>> scanner.</i><br>
|
||
<p>
|
||
Hmmmm...control xfers. This could be interesting. Yes, scanner.c uses<br>
|
||
bulk in/out devices when xfering the images.<br>
|
||
<p>
|
||
If control xfers are in fact being used, I could send those chars when the<br>
|
||
4200 is detected and configured. I wonder if this would take the 9830 out<br>
|
||
of transparency mode and allow the bulk pipes to be accessible. Sounds<br>
|
||
like an experiment for this evening. Why else would the device report two<br>
|
||
bulk endpoints (one each for input and output). Besides, ctrl endpoints<br>
|
||
aren't designed for large data xfers.<br>
|
||
<p>
|
||
<i>> Well... as far as I have read in the SANE Standard Version (1.01), yes</i><br>
|
||
<i>> you can switch sane backends using dynamic linking (See `Attaching to a</i><br>
|
||
<i>> SANE backend', Section 3.1).</i><br>
|
||
<i>> </i><br>
|
||
<i>> I don't know if you mean, for example, that developing a sane backend</i><br>
|
||
<i>> for `lm9830', using an USB interface like the HP4200C, should also work</i><br>
|
||
<i>> with a `lm9830-based' scanner but with a parallel port interface.</i><br>
|
||
<i>> </i><br>
|
||
<i>> If the above is what you mean, I think the best/normal way to do this</i><br>
|
||
<i>> is to separate the device communication protocol implementing a kernel</i><br>
|
||
<i>> device driver, like the `scanner.o' module. This device driver should</i><br>
|
||
<i>> supply a `/dev/<iface>' file, and then the SANE backend would</i><br>
|
||
<i>> write/read to this file in an uniform way. This file should be</i><br>
|
||
<i>> supplied to the backend as an option. For example, using a parallel</i><br>
|
||
<i>> port interface, a module called `ppscanner.o' could support a</i><br>
|
||
<i>> `/dev/ppscanner' file, and then, a parameter in `lm9830.conf' for the</i><br>
|
||
<i>> `lm9830.so' SANE backend could point to this file. If we were using</i><br>
|
||
<i>> an USB inteface, this option should then point to `/dev/usbscanner'.</i><br>
|
||
<i>> </i><br>
|
||
<i>> What do you (all) think about this?</i><br>
|
||
<p>
|
||
I think that when the 4200 is plugged in, the device driver should take it<br>
|
||
out of transparency mode (if the above works w/ regards to taking it out<br>
|
||
of xparency mode). The only difference between the 9830 and 9831 is the<br>
|
||
interface method so the backend should not care. If a backend were to be<br>
|
||
developed, this difference should be hidden, don't you think?<br>
|
||
<p>
|
||
Regards,<br>
|
||
/\/elson<br>
|
||
<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="0189.html">Ekkard Gerlach: "Re: can't compile sane 1.00 with pgcc-2.91.66"</a>
|
||
<li> <b>Previous message:</b> <a href="0187.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<li> <b>In reply to:</b> <a href="0187.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<!-- nextthread="start" -->
|
||
<li> <b>Next in thread:</b> <a href="0195.html">Adrian Perez Jorge: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
||
<!-- reply="end" -->
|
||
</ul>
|