[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