[sane-devel] Kodak i30 Initialisation

Olaf Meeuwissen paddy-hack at member.fsf.org
Wed May 31 11:22:10 UTC 2017

Hi Sebastian,

No-one has followed up yet.  I'll give it a go and Cc: the avision
backend maintainer.

The avision backend info lists the Kodak i30 as untested.

@Rene> You've got yourself a tester ;-)

Sebastian Schmachtel writes:

> [...]
> When running Windows 7 in a VM and assigning the scanner to it, the
> scanner works of course. The Suprising part is, that after using the
> scanner in the VM it works with SANE flawlessly as well until the next
> power cycle...
> So there seems to be something wrong with scanner initialisation. Can
> somebody give me a hint how to find this issue? Maybe sniff the usb
> traffic of the windows driver? (I've never done this, so maybe someone
> can help) Other ideas are welcome as well...

This sounds like a firmware download issue.  That is, after powering the
scanner up, you first need to sends a firmware file to the device.  When
you turn the power off, the scanner forgets all about any firmware file
that was downloaded to it.  It has a bad case of Alzheimer's, so to say.

The Windows driver knows it has to send the file, of course, and does so
(possibly checking with the device if really needed first).  The SANE
driver may have support for this, I don't know, I'm not familiar with
the backend internals, but if so, it needs to be able to find the right
firmware file.

# I had a quick look at the avision.c code and there is some mention of
# firmware.  Looks like it supports downloading as well as checking for
# the need to do so of firmware but this may need a bit of tinkering on
# crude inspection.
# @Rene> Do you have any idea what might be needed?  I don't.

You could check the Windows driver for a firmware file.  Typical file
name extension would be .bin or maybe .dat (just guessing here).  The
files I've seen (for a different backend!) were 64K (65536 bytes).  I
don't know but 64K sounds like a nice firmware file size number to me.

Since you run in a Windows VM, sniffing should be quite easy to do with
wireshark.  What you're looking for is a lot of USB traffic on the first
scan after you power on that just sends gobs of data *to* the scanner.

Hope this helps,
Olaf Meeuwissen, LPIC-2            FSF Associate Member since 2004-01-27
 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13  F43E B8A4 A88A F84A 2DD9
 Support Free Software                        https://my.fsf.org/donate
 Join the Free Software Foundation              https://my.fsf.org/join

More information about the sane-devel mailing list