sane-project-website/old-archive/2001-01/0038.html

500 wiersze
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>sane-devel: Re: HP Scanjet 3300 [also Re: HP 3400 scanner infor</TITLE>
<META NAME="Author" CONTENT="Jay Higley (higleyj@xontech.com)">
<META NAME="Subject" CONTENT="Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]</H1>
<!-- received="Thu Jan 4 05:23:25 2001" -->
<!-- isoreceived="20010104132325" -->
<!-- sent="Thu, 4 Jan 2001 07:43:21 -0600 (CST)" -->
<!-- isosent="20010104134321" -->
<!-- name="Jay Higley" -->
<!-- email="higleyj@xontech.com" -->
<!-- subject="Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]" -->
<!-- id="Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com" -->
<!-- inreplyto="200101030044.QAA17058@mail13.bigmailbox.com" -->
<STRONG>From:</STRONG> Jay Higley (<A HREF="mailto:higleyj@xontech.com?Subject=Re:%20HP%20Scanjet%203300%20[also%20Re:%20HP%203400%20scanner%20information]&In-Reply-To=&lt;Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com&gt;"><EM>higleyj@xontech.com</EM></A>)<BR>
<STRONG>Date:</STRONG> Thu Jan 04 2001 - 05:43:21 PST
<P>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0039.html">mh: "SANE + i18n (?)"</A>
<UL>
<LI><STRONG>Previous message:</STRONG> <A HREF="0037.html">Oliver Rauch: "Re: TO ALL BACKEND AUTHORS: logo for backend/manufacturer"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0013.html">Adrian Perez Jorge: "Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0056.html">Adrian Perez Jorge: "Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#38">[ date ]</A>
<A HREF="index.html#38">[ thread ]</A>
<A HREF="subject.html#38">[ subject ]</A>
<A HREF="author.html#38">[ author ]</A>
</UL>
<HR NOSHADE><P>
<!-- body="start" -->
<P>
The extra traffic in the control URB's may be due to the process which
<BR>
watches for button presses. When I was capturing the log file for the
<BR>
3300 I noticed that the log had data being collected even when the scan
<BR>
application was inactive, and traced it down to some settings under the
<BR>
&quot;scanner&quot; icon in the control panel. In there you specify which
<BR>
applications are tied to which button on the scanner. I can't remember if
<BR>
I had disabled the polling for button presses before I took the log file
<BR>
that I sent for the 3300, but I could send you a log file with just the
<BR>
button press polls if you would like.
<BR>
<P>-Jay Higley
<BR>
<P>On Tue, 2 Jan 2001, Adrian Perez Jorge wrote:
<BR>
<P><EM>&gt;
</EM><BR>
<EM>&gt; Hi Scott, Jay and all...
</EM><BR>
<EM>&gt;
</EM><BR>
<P>[SNIP]...
<BR>
<P><EM>&gt; Firstly, I must say I have no idea about the values that the Index
</EM><BR>
<EM>&gt; field gets during the scanning process. That's a mistery for me at
</EM><BR>
<EM>&gt; the moment, until somebody give to me a second log file. Then I'll
</EM><BR>
<EM>&gt; check if the field will get the same values.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; But Value and Buffer contents seems to have some special patters.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; When the computer wants to start talking to the scanner, it uses a
</EM><BR>
<EM>&gt; special sequence. I have also found the piece of assembler code that
</EM><BR>
<EM>&gt; generates that sequence, wich is:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value Data
</EM><BR>
<EM>&gt; ===============
</EM><BR>
<EM>&gt; 0088 a0
</EM><BR>
<EM>&gt; 0088 a8
</EM><BR>
<EM>&gt; 0088 50
</EM><BR>
<EM>&gt; 0088 58
</EM><BR>
<EM>&gt; 0088 90
</EM><BR>
<EM>&gt; 0088 98
</EM><BR>
<EM>&gt; 0088 c0
</EM><BR>
<EM>&gt; 0088 c8
</EM><BR>
<EM>&gt; 0088 90
</EM><BR>
<EM>&gt; 0088 98
</EM><BR>
<EM>&gt; 0088 e0
</EM><BR>
<EM>&gt; 0088 e8
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; You can check those values in all log files, and you will see
</EM><BR>
<EM>&gt; that (maybe) this sequence is repeated more than once during the log.
</EM><BR>
<EM>&gt; The Value field 0x0088 is used only in the ``startup sequence''.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Here is the assembler code:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; :067F4940 83EC08 sub esp, 00000008
</EM><BR>
<EM>&gt; :067F4943 A130158006 mov eax, dword ptr [06801530]
</EM><BR>
<EM>&gt; :067F4948 C744240000000000 mov [esp], 00000000
</EM><BR>
<EM>&gt; :067F4950 83F801 cmp eax, 00000001
</EM><BR>
<EM>&gt; :067F4953 C744240400000000 mov [esp+04], 00000000
</EM><BR>
<EM>&gt; :067F495B 7579 jne 067F49D6
</EM><BR>
<EM>&gt; :067F495D 68A0000000 push 000000A0
</EM><BR>
<EM>&gt; :067F4962 E8394D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F4967 68A8000000 push 000000A8
</EM><BR>
<EM>&gt; :067F496C E82F4D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F4971 6A50 push 00000050
</EM><BR>
<EM>&gt; :067F4973 E8284D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F4978 6A58 push 00000058
</EM><BR>
<EM>&gt; :067F497A E8214D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F497F 6890000000 push 00000090
</EM><BR>
<EM>&gt; :067F4984 E8174D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F4989 6898000000 push 00000098
</EM><BR>
<EM>&gt; :067F498E E80D4D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F4993 68C0000000 push 000000C0
</EM><BR>
<EM>&gt; :067F4998 E8034D0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F499D 68C8000000 push 000000C8
</EM><BR>
<EM>&gt; :067F49A2 E8F94C0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F49A7 6890000000 push 00000090
</EM><BR>
<EM>&gt; :067F49AC E8EF4C0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F49B1 6898000000 push 00000098
</EM><BR>
<EM>&gt; :067F49B6 E8E54C0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F49BB 68E0000000 push 000000E0
</EM><BR>
<EM>&gt; :067F49C0 E8DB4C0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F49C5 68E8000000 push 000000E8
</EM><BR>
<EM>&gt; :067F49CA E8D14C0000 call 067F96A0
</EM><BR>
<EM>&gt; :067F49CF 83C430 add esp, 00000030
</EM><BR>
<EM>&gt; :067F49D2 83C408 add esp, 00000008
</EM><BR>
<EM>&gt; :067F49D5 C3 ret
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; [snip]
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; :067F96A0 8A442404 mov al, byte ptr [esp+04]
</EM><BR>
<EM>&gt; :067F96A4 8D4C2404 lea ecx, dword ptr [esp+04]
</EM><BR>
<EM>&gt; :067F96A8 51 push ecx
</EM><BR>
<EM>&gt; :067F96A9 6A01 push 00000001 # buffer length
</EM><BR>
<EM>&gt; :067F96AB 6888000000 push 00000088 # Value field
</EM><BR>
<EM>&gt; :067F96B0 88442410 mov byte ptr [esp+10], al
</EM><BR>
<EM>&gt; :067F96B4 E807000000 call 067F96C0
</EM><BR>
<EM>&gt; :067F96B9 83C40C add esp, 0000000C
</EM><BR>
<EM>&gt; :067F96BC C3 ret
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; q.e.d.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; What other values the `Value' field can get? Inspecting the assembler
</EM><BR>
<EM>&gt; code I could say... those:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value length of the buffer direction
</EM><BR>
<EM>&gt; ===============================================
</EM><BR>
<EM>&gt; 0083 1 OUT (write)
</EM><BR>
<EM>&gt; 0084 1 IN (read)
</EM><BR>
<EM>&gt; 0085 1 OUT
</EM><BR>
<EM>&gt; 0087 1 OUT
</EM><BR>
<EM>&gt; 0088 1 OUT
</EM><BR>
<EM>&gt; 0082 8 OUT
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; What is the exact meaning of these command values? No idea yet, but
</EM><BR>
<EM>&gt; we can try understand them by the way they are used.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; There are some patterns that you will find frequently in the log
</EM><BR>
<EM>&gt; file. Those are:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Type I
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value buffer contents
</EM><BR>
<EM>&gt; ===========================
</EM><BR>
<EM>&gt; 0087 14
</EM><BR>
<EM>&gt; 0083 (any byte)
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Type II
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value buffer contents
</EM><BR>
<EM>&gt; ===========================
</EM><BR>
<EM>&gt; 0087 14
</EM><BR>
<EM>&gt; 0085 (any byte)
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Type III
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value buffer contents
</EM><BR>
<EM>&gt; ===========================
</EM><BR>
<EM>&gt; 0087 14
</EM><BR>
<EM>&gt; 0087 34
</EM><BR>
<EM>&gt; 0084 (reads one byte)
</EM><BR>
<EM>&gt; 0087 14
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Type II sequences are used to appear after Type I sequences.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; The behaviour of Type III sequences is to read a (status) byte from
</EM><BR>
<EM>&gt; the scanner/USB interface.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; The byte values at Type I and II sequences are still an enigma.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; The last one is the Type IV `sequence'. That's the more interesting.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Type IV
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Value buffer contents
</EM><BR>
<EM>&gt; ===========================
</EM><BR>
<EM>&gt; 0082 (an 8-byte vector
</EM><BR>
<EM>&gt; with a bulk tranfer
</EM><BR>
<EM>&gt; length coded)
</EM><BR>
<EM>&gt; [bulk transfer of data]
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; The 8-byte vectors I have found in the hp4300 log file are:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; 01 01 00 00 60 00 00 00
</EM><BR>
<EM>&gt; ^ ^
</EM><BR>
<EM>&gt; | +--- hi-byte (length)
</EM><BR>
<EM>&gt; +------ lo-byte (length)
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; 00 00 00 00 2a 5d 00 00
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; This one is from the hp3300 log file:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; 01 00 00 00 38 dc 00 00a
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; The length of the following bulk transfer is coded always in the same
</EM><BR>
<EM>&gt; byte positions.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Some bulk transfers of Type IV sequences are sent _to_ the scanner
</EM><BR>
<EM>&gt; (write) and others the data comes is sent _from_ the scanner (read).
</EM><BR>
<EM>&gt; I could find the data that the computer sends to the scanner in the
</EM><BR>
<EM>&gt; data segment of the dll, but the meaning of the data is also an
</EM><BR>
<EM>&gt; enigma. I thought about gamma or calibration table values, but
</EM><BR>
<EM>&gt; it doesn't seem to be the case.
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; III.- So... what now?
</EM><BR>
<EM>&gt; ---------------------
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; It will be nice to:
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; *) generate more log files, using the same scanning parameters and
</EM><BR>
<EM>&gt; different ones to see what has changed and what not,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; *) to know if there is a background program running that is checking
</EM><BR>
<EM>&gt; the scanner/button status and produces interferences in the log file,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; *) know if somebody (developers of SCSI, USB or pport SANE backends)
</EM><BR>
<EM>&gt; can recognize the protocol,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; *) find somebody who can use a windoze debugger and owns a hp4300,
</EM><BR>
<EM>&gt; hp3400 or hp3300 scanner, to know when external events (scanner head
</EM><BR>
<EM>&gt; moves, lamp on/off, etc) happens in what part of the log file, and
</EM><BR>
<EM>&gt; maybe much more information,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; *) excuse me for my english, copyright notices and publishing this in
</EM><BR>
<EM>&gt; the SANE mailing list ;)
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Cheers,
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; Adrian Perez Jorge
</EM><BR>
<EM>&gt; &lt;<A HREF="mailto:adrianpj@easynews.com?Subject=Re:%20HP%20Scanjet%203300%20[also%20Re:%20HP%203400%20scanner%20information]&In-Reply-To=&lt;Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com&gt;">adrianpj@easynews.com</A>&gt;
</EM><BR>
<EM>&gt;
</EM><BR>
<EM>&gt; ------------------------------------------------------------
</EM><BR>
<EM>&gt; Free Web space and web based email @EASYNEWS.COM
</EM><BR>
<EM>&gt;
</EM><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?Subject=Re:%20HP%20Scanjet%203300%20[also%20Re:%20HP%203400%20scanner%20information]&In-Reply-To=&lt;Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com&gt;">majordomo@mostang.com</A>
</PRE>
<P><!-- body="end" -->
<HR NOSHADE>
<UL>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0039.html">mh: "SANE + i18n (?)"</A>
<LI><STRONG>Previous message:</STRONG> <A HREF="0037.html">Oliver Rauch: "Re: TO ALL BACKEND AUTHORS: logo for backend/manufacturer"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0013.html">Adrian Perez Jorge: "Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]"</A>
<!-- nextthread="start" -->
<LI><STRONG>Next in thread:</STRONG> <A HREF="0056.html">Adrian Perez Jorge: "Re: HP Scanjet 3300 [also Re: HP 3400 scanner information]"</A>
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#38">[ date ]</A>
<A HREF="index.html#38">[ thread ]</A>
<A HREF="subject.html#38">[ subject ]</A>
<A HREF="author.html#38">[ author ]</A>
</UL>
<!-- trailer="footer" -->
<HR NOSHADE>
<P>
<SMALL>
<EM>
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
: <EM>Thu Jan 04 2001 - 05:24:34 PST</EM>
</EM>
</SMALL>
</BODY>
</HTML>