[sane-devel] Epson and epkowa

Olaf Meeuwissen paddy-hack at member.fsf.org
Tue May 19 13:02:10 BST 2020


Hi Ralph,

Ralph Little writes:

> Hi,
>
> On 2020-05-18 4:48 a.m., Olaf Meeuwissen wrote:
>>
>>>>>> If so, what is the likelihood that epson2 would work with this
>>>>>> scanner with moderate modifications?
>> None.  The non-free interpreter is dlopen()ed by the epkowa backend and
>> it converts the regular ESC/I protocol to the device's native protocol,
>> insofar possible.  Mind you, there are *several* such native protocols.
>> These native protocol are not even remotely close to the ESC/I protocol.
>> You'd be better of trying to find a backend that uses something close.
>> For a few of the interpreter using devices, the snapscan backend is a
>> good match.  For others, I don't know.  Maybe sane-find-scanner can be
>> of help to check whether it's something genesys-like, I don't know.
>>
>> While porting those interpreters at part of my work duties, I have
>> tended not to look at the closed source more than absolutely needed to
>> get them to compile and "work".  That was about a decade (or more) ago
>> so I don't have any recollection anyway beyond what found its way into
>> epkowa.desc :-P
>>
> Do we have any documentation regarding the ESC/I protocol?

Yes.  Lots.

At one point EPSON provided the protocol specs for a number of their
scanners for download to developers.  The download terms were such that
these documents cannot be made available to other folks but I have a
bunch of dead-tree versions.

I used those to implement something called [FreeRISCI][1] and added API
documentation to it based on the implementation to work around the "NDA"
for the documents.  I contacted EPSON at the time to check it that would
be okay.  I don't remember the exact reply but it was something like "it
is not not okay".

The [Utushi][2] code actually incorporated much of the FreeRISCI code to
add ESC/I support so you can find the documentation there as well.

 [1]: https://launchpad.net/freerisci
 [2]: https://gitlab.com/utsushi/utsushi

There should be `doc` or `doxygen` `make` targets that produce HTML if
you wish but it's all there in the C++ source code.  Actually, the
Utsushi code also documents a fair deal of the ESC/I-2 protocol IIRC.

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