[sane-devel] Re: SANE & LS50ED

Ariel Garcia garcia@iwr.fzk.de
Mon, 7 Feb 2005 00:35:45 +0100


Hi Johannes and Andras,

yes, it has been a long time since my last mail... :-(  i've been quite busy but
i also spent some time trying to do a usb dump of the Nikonscan communication
with the scanner. After spending some time searching for how to make it i was
amazed to see that a simple mini-scan was creating a 100MBy log... oh well

I did a timed log and i could more or less identify where each thing is
happening. But... trying to compare the sane and nikonscan logs i see many
differences... it is difficult to make something out of that without knowing how
is the protocol (i know... reading the sane code of the driver should help but
that also takes time... did not do that yet). Having a short list of important
commands as of the specs would help... yes, i know, the NDA...

Under windows for instance i see a kind of "ping blocks" every 2 seconds
which do are not seen at all under sane. Perhaps they are not needed? These
blocks have always the same structure (and data also except for few bytes), and
they are also sent with a 1 millisec interval just 10ms  prior to starting the
preview. 

What seems to be quite different is that under windows the data sent to the
scanner is initially in packets of size 1, 6, or 64 (=0x40) bytes (also a few of
10, 58), whereas under sane i see writes of 1,6,10,20,58 bytes since the
beginning, but no 64 by ones.

A typical block is appended, i will put the full log online tomorrow, i'll let
you know.

Cheers, Ariel

----- A "ping" block ----------------

106572 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK
            00000000: 00 00 00 00 00 00

106574 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK

106574 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK
            00000000: d0

106576 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK

106576 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK
            00000000: 00 00 00 00 00 00 00 00 00 74 00 a0 0f a0 00 00
            00000010: 00 00 00 00 00 00 00 00 04 80 00 00 06 c2 00 00
            00000020: 00 02 0e 00 00 00 00 00 00 00 00 00 00 00 00 00
            00000030: 00 01 01 02 02 ff 00 03 3a 40 00 00 00 00 00 00

106578 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK
            00000000: 01

106578 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK
            00000000: 06

106579 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK

106579 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_OUT, USBD_SHORT_TRANSFER_OK
            00000000: 01 00 00 00 00 00 00 00 00 74 00 a0 0f a0 00 00
            00000010: 00 00 00 00 00 00 00 00 04 80 00 00 06 c2 00 00
            00000020: 00 02 0e 00 00 00 00 00 00 00 00 00 00 00 00 00
            00000030: 00 01 01 02 02 ff 00 03 3a 40 00 00 00 00 00 00

106580 ms -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
   Flags: USBD_TRANSFER_DIRECTION_IN, USBD_SHORT_TRANSFER_OK
            00000000: 00 00 00 00 00 00 00 00

---------------------

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.