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.