kopia lustrzana https://gitlab.com/sane-project/website
148 wiersze
7.9 KiB
HTML
148 wiersze
7.9 KiB
HTML
<!-- received="Tue Dec 28 12:24:24 1999 PST" -->
|
|
<!-- sent="Tue, 28 Dec 1999 12:28:31 -0800" -->
|
|
<!-- name="Adrian Perez Jorge" -->
|
|
<!-- email="adrianpj@easynews.com" -->
|
|
<!-- subject="Re: Volunteer for back end development - excellent info in this msg" -->
|
|
<!-- id="199912282028.MAA18037@mail11.bigmailbox.com" -->
|
|
<!-- inreplyto="Volunteer for back end development - excellent info in this msg" -->
|
|
<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>Adrian Perez Jorge</b> (<a href="mailto:adrianpj@easynews.com"><i>adrianpj@easynews.com</i></a>)<br>
|
|
<i>Tue, 28 Dec 1999 12:28:31 -0800</i>
|
|
<p>
|
|
<ul>
|
|
<li> <b>Messages sorted by:</b> <a href="date.html#187">[ date ]</a><a href="index.html#187">[ thread ]</a><a href="subject.html#187">[ subject ]</a><a href="author.html#187">[ author ]</a>
|
|
<!-- next="start" -->
|
|
<li> <b>Next message:</b> <a href="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<li> <b>Previous message:</b> <a href="0186.html">Jochen Eisinger: "Re: Mustek ScanExpress 12000P"</a>
|
|
<li> <b>Maybe in reply to:</b> <a href="0079.html">David E. Nelson: "Volunteer for back end development - excellent info in this msg"</a>
|
|
<!-- nextthread="start" -->
|
|
<li> <b>Next in thread:</b> <a href="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<li> <b>Reply:</b> <a href="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<!-- reply="end" -->
|
|
</ul>
|
|
<!-- body="start" -->
|
|
Dear Mat,<br>
|
|
Dear David,<br>
|
|
<p>
|
|
Mathew sienko x7439 (<a href="mailto:msienko@galaxy.nsc.com">msienko@galaxy.nsc.com</a>):<br>
|
|
<i>>Hi David,</i><br>
|
|
<i>></i><br>
|
|
<i>>I'm glad to see that you are still interested. If you do plan on</i><br>
|
|
<i>>experamenting,</i><br>
|
|
<i>>then perhaps I should what I've been thinking about. I haven't actually</i><br>
|
|
<i>>started working on this yet because we've been quite buisy lately, but</i><br>
|
|
<i>>I hope to start soon.</i><br>
|
|
<i>></i><br>
|
|
<i>>The merlin chips are all controlled through a register file and everything</i><br>
|
|
<i>>is done by reading or writing these registers. The datasheet describes</i><br>
|
|
<i>>these registers. The backend should then have two parts: functions to</i><br>
|
|
<i>>read and write these registers, and then the SANE API implementation that</i><br>
|
|
<i>>actually uses these functions to controll the scanner. This way, the</i><br>
|
|
<i>>interface can change and all the SANE API's can still be used. (Future</i><br>
|
|
<i>>versions of merlin may use a different interface, but this is still too</i><br>
|
|
<i>>far away to tell.) My first goal is to be able to read and write one</i><br>
|
|
<i>>register at a time. If I get any work done on this, I'll post it to</i><br>
|
|
<i>>the sane mailing list.</i><br>
|
|
<p>
|
|
I would be very pleased if you, Mat, could tell me who are you trying<br>
|
|
to read/write `lm9830' registers. Initialy, I was confused and I<br>
|
|
thought HP4200C was using `lm9831'---because it has an USB interface---<br>
|
|
and I was trying to read/write <reg address>+<value> to the<br>
|
|
`/dev/usbscanner' file. Now, I know I was wrong. I can't believe my<br>
|
|
HP4200C scanner is really a parallel port scanner hacked with some USB<br>
|
|
interface... (but it's quick!)<br>
|
|
<p>
|
|
Well.. the main problem is: then how this interface works?<br>
|
|
<p>
|
|
I have been tracing (debugger) the Windowze driver (`hpad32.dll').<br>
|
|
I have the initial values of `lm9830' registers that this driver<br>
|
|
writes (from 08-5f), and I have seen the driver sending the '99 66 cc<br>
|
|
33' sequence (switching transparent mode).<br>
|
|
<p>
|
|
Now, I think write/read operations to lm930 registers doesn't use bulk<br>
|
|
transfers; the Windoze driver uses `control vendor requests' (note<br>
|
|
that I'm not an USB expert at all.), and I think (David, correct me)<br>
|
|
Linux usbscanner driver uses bulk transfers to communicate with the<br>
|
|
scanner.<br>
|
|
<p>
|
|
<i>>I also have a question that I am hoping you will be able to answer. In</i><br>
|
|
<i>>SANE, the back-ends can be built as shared libraries so that an application</i><br>
|
|
<i>>can easily change back-ends. Would it be easy (or possible) to separate</i><br>
|
|
<i>>the two functionalities I mentioned above into two separate library files?</i><br>
|
|
<i>>Also, can an application load and unload these back-end libraries while</i><br>
|
|
<i>>it is running? I think this would be cool because then an application</i><br>
|
|
<i>>could launch that is not tied to a specific scanner and the user could</i><br>
|
|
<i>>choose which driver to use and, for the merlin driver, choose the I/O</i><br>
|
|
<i>>interface if necessary.</i><br>
|
|
<i>></i><br>
|
|
<i>>Matt</i><br>
|
|
<p>
|
|
Well... as far as I have read in the SANE Standard Version (1.01), yes<br>
|
|
you can switch sane backends using dynamic linking (See `Attaching to a<br>
|
|
SANE backend', Section 3.1).<br>
|
|
<p>
|
|
I don't know if you mean, for example, that developing a sane backend<br>
|
|
for `lm9830', using an USB interface like the HP4200C, should also work<br>
|
|
with a `lm9830-based' scanner but with a parallel port interface.<br>
|
|
<p>
|
|
If the above is what you mean, I think the best/normal way to do this<br>
|
|
is to separate the device communication protocol implementing a kernel<br>
|
|
device driver, like the `scanner.o' module. This device driver should<br>
|
|
supply a `/dev/<iface>' file, and then the SANE backend would<br>
|
|
write/read to this file in an uniform way. This file should be<br>
|
|
supplied to the backend as an option. For example, using a parallel<br>
|
|
port interface, a module called `ppscanner.o' could support a<br>
|
|
`/dev/ppscanner' file, and then, a parameter in `lm9830.conf' for the<br>
|
|
`lm9830.so' SANE backend could point to this file. If we were using<br>
|
|
an USB inteface, this option should then point to `/dev/usbscanner'.<br>
|
|
<p>
|
|
What do you (all) think about this?<br>
|
|
<p>
|
|
<i>>></i><br>
|
|
<i>>></i><br>
|
|
<i>>> Hi Mathew,</i><br>
|
|
<i>>></i><br>
|
|
<i>>> I really dropped the ball on this one. I had hoped to 'experiment' with</i><br>
|
|
<i>>> my 4200 using the pdf docs from NatSemi...just havn't had time to sit</i><br>
|
|
<i>>>down</i><br>
|
|
<i>>> with it. I've forward this to the sane-devel list since that should be</i><br>
|
|
<i>>> the best source for developers. I did ask Peter if he could recommend</i><br>
|
|
<i>>> anyone and noone came to his mind.</i><br>
|
|
<i>>></i><br>
|
|
<i>>> Regards,</i><br>
|
|
<i>>> /\/elson</i><br>
|
|
<i>>></i><br>
|
|
<p>
|
|
Hey! Fortunately, I could find you, people, in this mailing list! (I<br>
|
|
was subscribed only at <<a href="mailto:linux-usb@suse.com">linux-usb@suse.com</a>>)<br>
|
|
<p>
|
|
<p>
|
|
Cheers,<br>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
Adrian Perez Jorge<br>
|
|
<<a href="mailto:adrianpj@easynews.com">adrianpj@easynews.com</a>><br>
|
|
<p>
|
|
------------------------------------------------------------<br>
|
|
Free Web space and web based email @EASYNEWS.COM<br>
|
|
<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="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<li> <b>Previous message:</b> <a href="0186.html">Jochen Eisinger: "Re: Mustek ScanExpress 12000P"</a>
|
|
<li> <b>Maybe in reply to:</b> <a href="0079.html">David E. Nelson: "Volunteer for back end development - excellent info in this msg"</a>
|
|
<!-- nextthread="start" -->
|
|
<li> <b>Next in thread:</b> <a href="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<li> <b>Reply:</b> <a href="0188.html">David E. Nelson: "Re: Volunteer for back end development - excellent info in this msg"</a>
|
|
<!-- reply="end" -->
|
|
</ul>
|