kopia lustrzana https://gitlab.com/sane-project/website
500 wiersze
14 KiB
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=<Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com>"><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>
|
|
"scanner" 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>>
|
|
</EM><BR>
|
|
<EM>> Hi Scott, Jay and all...
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<P>[SNIP]...
|
|
<BR>
|
|
<P><EM>> Firstly, I must say I have no idea about the values that the Index
|
|
</EM><BR>
|
|
<EM>> field gets during the scanning process. That's a mistery for me at
|
|
</EM><BR>
|
|
<EM>> the moment, until somebody give to me a second log file. Then I'll
|
|
</EM><BR>
|
|
<EM>> check if the field will get the same values.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> But Value and Buffer contents seems to have some special patters.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> When the computer wants to start talking to the scanner, it uses a
|
|
</EM><BR>
|
|
<EM>> special sequence. I have also found the piece of assembler code that
|
|
</EM><BR>
|
|
<EM>> generates that sequence, wich is:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value Data
|
|
</EM><BR>
|
|
<EM>> ===============
|
|
</EM><BR>
|
|
<EM>> 0088 a0
|
|
</EM><BR>
|
|
<EM>> 0088 a8
|
|
</EM><BR>
|
|
<EM>> 0088 50
|
|
</EM><BR>
|
|
<EM>> 0088 58
|
|
</EM><BR>
|
|
<EM>> 0088 90
|
|
</EM><BR>
|
|
<EM>> 0088 98
|
|
</EM><BR>
|
|
<EM>> 0088 c0
|
|
</EM><BR>
|
|
<EM>> 0088 c8
|
|
</EM><BR>
|
|
<EM>> 0088 90
|
|
</EM><BR>
|
|
<EM>> 0088 98
|
|
</EM><BR>
|
|
<EM>> 0088 e0
|
|
</EM><BR>
|
|
<EM>> 0088 e8
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> You can check those values in all log files, and you will see
|
|
</EM><BR>
|
|
<EM>> that (maybe) this sequence is repeated more than once during the log.
|
|
</EM><BR>
|
|
<EM>> The Value field 0x0088 is used only in the ``startup sequence''.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Here is the assembler code:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> :067F4940 83EC08 sub esp, 00000008
|
|
</EM><BR>
|
|
<EM>> :067F4943 A130158006 mov eax, dword ptr [06801530]
|
|
</EM><BR>
|
|
<EM>> :067F4948 C744240000000000 mov [esp], 00000000
|
|
</EM><BR>
|
|
<EM>> :067F4950 83F801 cmp eax, 00000001
|
|
</EM><BR>
|
|
<EM>> :067F4953 C744240400000000 mov [esp+04], 00000000
|
|
</EM><BR>
|
|
<EM>> :067F495B 7579 jne 067F49D6
|
|
</EM><BR>
|
|
<EM>> :067F495D 68A0000000 push 000000A0
|
|
</EM><BR>
|
|
<EM>> :067F4962 E8394D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F4967 68A8000000 push 000000A8
|
|
</EM><BR>
|
|
<EM>> :067F496C E82F4D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F4971 6A50 push 00000050
|
|
</EM><BR>
|
|
<EM>> :067F4973 E8284D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F4978 6A58 push 00000058
|
|
</EM><BR>
|
|
<EM>> :067F497A E8214D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F497F 6890000000 push 00000090
|
|
</EM><BR>
|
|
<EM>> :067F4984 E8174D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F4989 6898000000 push 00000098
|
|
</EM><BR>
|
|
<EM>> :067F498E E80D4D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F4993 68C0000000 push 000000C0
|
|
</EM><BR>
|
|
<EM>> :067F4998 E8034D0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F499D 68C8000000 push 000000C8
|
|
</EM><BR>
|
|
<EM>> :067F49A2 E8F94C0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F49A7 6890000000 push 00000090
|
|
</EM><BR>
|
|
<EM>> :067F49AC E8EF4C0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F49B1 6898000000 push 00000098
|
|
</EM><BR>
|
|
<EM>> :067F49B6 E8E54C0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F49BB 68E0000000 push 000000E0
|
|
</EM><BR>
|
|
<EM>> :067F49C0 E8DB4C0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F49C5 68E8000000 push 000000E8
|
|
</EM><BR>
|
|
<EM>> :067F49CA E8D14C0000 call 067F96A0
|
|
</EM><BR>
|
|
<EM>> :067F49CF 83C430 add esp, 00000030
|
|
</EM><BR>
|
|
<EM>> :067F49D2 83C408 add esp, 00000008
|
|
</EM><BR>
|
|
<EM>> :067F49D5 C3 ret
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> [snip]
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> :067F96A0 8A442404 mov al, byte ptr [esp+04]
|
|
</EM><BR>
|
|
<EM>> :067F96A4 8D4C2404 lea ecx, dword ptr [esp+04]
|
|
</EM><BR>
|
|
<EM>> :067F96A8 51 push ecx
|
|
</EM><BR>
|
|
<EM>> :067F96A9 6A01 push 00000001 # buffer length
|
|
</EM><BR>
|
|
<EM>> :067F96AB 6888000000 push 00000088 # Value field
|
|
</EM><BR>
|
|
<EM>> :067F96B0 88442410 mov byte ptr [esp+10], al
|
|
</EM><BR>
|
|
<EM>> :067F96B4 E807000000 call 067F96C0
|
|
</EM><BR>
|
|
<EM>> :067F96B9 83C40C add esp, 0000000C
|
|
</EM><BR>
|
|
<EM>> :067F96BC C3 ret
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> q.e.d.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> What other values the `Value' field can get? Inspecting the assembler
|
|
</EM><BR>
|
|
<EM>> code I could say... those:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value length of the buffer direction
|
|
</EM><BR>
|
|
<EM>> ===============================================
|
|
</EM><BR>
|
|
<EM>> 0083 1 OUT (write)
|
|
</EM><BR>
|
|
<EM>> 0084 1 IN (read)
|
|
</EM><BR>
|
|
<EM>> 0085 1 OUT
|
|
</EM><BR>
|
|
<EM>> 0087 1 OUT
|
|
</EM><BR>
|
|
<EM>> 0088 1 OUT
|
|
</EM><BR>
|
|
<EM>> 0082 8 OUT
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> What is the exact meaning of these command values? No idea yet, but
|
|
</EM><BR>
|
|
<EM>> we can try understand them by the way they are used.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> There are some patterns that you will find frequently in the log
|
|
</EM><BR>
|
|
<EM>> file. Those are:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Type I
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value buffer contents
|
|
</EM><BR>
|
|
<EM>> ===========================
|
|
</EM><BR>
|
|
<EM>> 0087 14
|
|
</EM><BR>
|
|
<EM>> 0083 (any byte)
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Type II
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value buffer contents
|
|
</EM><BR>
|
|
<EM>> ===========================
|
|
</EM><BR>
|
|
<EM>> 0087 14
|
|
</EM><BR>
|
|
<EM>> 0085 (any byte)
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Type III
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value buffer contents
|
|
</EM><BR>
|
|
<EM>> ===========================
|
|
</EM><BR>
|
|
<EM>> 0087 14
|
|
</EM><BR>
|
|
<EM>> 0087 34
|
|
</EM><BR>
|
|
<EM>> 0084 (reads one byte)
|
|
</EM><BR>
|
|
<EM>> 0087 14
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Type II sequences are used to appear after Type I sequences.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> The behaviour of Type III sequences is to read a (status) byte from
|
|
</EM><BR>
|
|
<EM>> the scanner/USB interface.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> The byte values at Type I and II sequences are still an enigma.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> The last one is the Type IV `sequence'. That's the more interesting.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Type IV
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Value buffer contents
|
|
</EM><BR>
|
|
<EM>> ===========================
|
|
</EM><BR>
|
|
<EM>> 0082 (an 8-byte vector
|
|
</EM><BR>
|
|
<EM>> with a bulk tranfer
|
|
</EM><BR>
|
|
<EM>> length coded)
|
|
</EM><BR>
|
|
<EM>> [bulk transfer of data]
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> The 8-byte vectors I have found in the hp4300 log file are:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> 01 01 00 00 60 00 00 00
|
|
</EM><BR>
|
|
<EM>> ^ ^
|
|
</EM><BR>
|
|
<EM>> | +--- hi-byte (length)
|
|
</EM><BR>
|
|
<EM>> +------ lo-byte (length)
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> 00 00 00 00 2a 5d 00 00
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> This one is from the hp3300 log file:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> 01 00 00 00 38 dc 00 00a
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> The length of the following bulk transfer is coded always in the same
|
|
</EM><BR>
|
|
<EM>> byte positions.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Some bulk transfers of Type IV sequences are sent _to_ the scanner
|
|
</EM><BR>
|
|
<EM>> (write) and others the data comes is sent _from_ the scanner (read).
|
|
</EM><BR>
|
|
<EM>> I could find the data that the computer sends to the scanner in the
|
|
</EM><BR>
|
|
<EM>> data segment of the dll, but the meaning of the data is also an
|
|
</EM><BR>
|
|
<EM>> enigma. I thought about gamma or calibration table values, but
|
|
</EM><BR>
|
|
<EM>> it doesn't seem to be the case.
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> III.- So... what now?
|
|
</EM><BR>
|
|
<EM>> ---------------------
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> It will be nice to:
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> *) generate more log files, using the same scanning parameters and
|
|
</EM><BR>
|
|
<EM>> different ones to see what has changed and what not,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> *) to know if there is a background program running that is checking
|
|
</EM><BR>
|
|
<EM>> the scanner/button status and produces interferences in the log file,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> *) know if somebody (developers of SCSI, USB or pport SANE backends)
|
|
</EM><BR>
|
|
<EM>> can recognize the protocol,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> *) find somebody who can use a windoze debugger and owns a hp4300,
|
|
</EM><BR>
|
|
<EM>> hp3400 or hp3300 scanner, to know when external events (scanner head
|
|
</EM><BR>
|
|
<EM>> moves, lamp on/off, etc) happens in what part of the log file, and
|
|
</EM><BR>
|
|
<EM>> maybe much more information,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> *) excuse me for my english, copyright notices and publishing this in
|
|
</EM><BR>
|
|
<EM>> the SANE mailing list ;)
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Cheers,
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> Adrian Perez Jorge
|
|
</EM><BR>
|
|
<EM>> <<A HREF="mailto:adrianpj@easynews.com?Subject=Re:%20HP%20Scanjet%203300%20[also%20Re:%20HP%203400%20scanner%20information]&In-Reply-To=<Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com>">adrianpj@easynews.com</A>>
|
|
</EM><BR>
|
|
<EM>>
|
|
</EM><BR>
|
|
<EM>> ------------------------------------------------------------
|
|
</EM><BR>
|
|
<EM>> Free Web space and web based email @EASYNEWS.COM
|
|
</EM><BR>
|
|
<EM>>
|
|
</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=<Pine.LNX.4.30.0101040735560.13550-100000@sstbpc13.xontech.com>">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>
|